Commit c7f15313 authored by Stavros-Anastasios Charismiadis's avatar Stavros-Anastasios Charismiadis
Browse files

Move Logging API from testing to production server

parent 05998bf2
Loading
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -12,6 +12,6 @@ COPY . /usr/src/app

EXPOSE 8080

ENTRYPOINT ["python3"]
ENTRYPOINT ["gunicorn"]

CMD ["-m", "api_invocation_logs"]
 No newline at end of file
CMD ["--bind", "0.0.0.0:8080", "--chdir", "/usr/src/app/api_invocation_logs", "wsgi:app"]
 No newline at end of file
+5 −6
Original line number Diff line number Diff line
@@ -3,8 +3,8 @@
import connexion
import logging
from logging.handlers import RotatingFileHandler
from api_invocation_logs import encoder
from .config import Config
import encoder
from config import Config
import os
from fluent import sender
from opentelemetry.instrumentation.flask import FlaskInstrumentor
@@ -16,10 +16,9 @@ from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor




NAME = "Logging-Service"


def configure_monitoring(app, config):

    resource = Resource(attributes={"service.name": NAME})
@@ -116,5 +115,5 @@ config = Config()
if eval(os.environ.get("MONITORING").lower().capitalize()):
    configure_monitoring(app.app, config.get_config())

if __name__ == '__main__':
    app.run(port=8080)
# if __name__ == '__main__':
#     app.run(port=8080)
+1 −1
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@ import os
class Config:
	def __init__(self):
		self.cached = 0
		self.file="./config.yaml"
		self.file="../config.yaml"
		self.my_config = {}

		stamp = os.stat(self.file).st_mtime
+2 −4
Original line number Diff line number Diff line
import connexion

from api_invocation_logs.models.invocation_log import InvocationLog  # noqa: E501
from ..models.invocation_log import InvocationLog  # noqa: E501

from ..core.invocationlogs import LoggingInvocationOperations

import json
from flask import Response, request, current_app
from ..encoder import JSONEncoder
from ..models.problem_details import ProblemDetails

from ..core.validate_user import ControlAccess
from cryptography import x509
from cryptography.hazmat.backends import default_backend
+4 −9
Original line number Diff line number Diff line
import sys

import os
import pymongo

import secrets
from flask import current_app, Flask, Response
import json

from ..db.db import MongoDatabse
from ..encoder import JSONEncoder
from ..models.problem_details import ProblemDetails
from pymongo import ReturnDocument
from ..util import dict_to_camel_case, clean_empty
from .resources import Resource
from .responses import bad_request_error, internal_server_error, forbidden_error, not_found_error, unauthorized_error, make_response
from ..models.invocation_log import InvocationLog
from .responses import internal_server_error, not_found_error, unauthorized_error, make_response


class LoggingInvocationOperations(Resource):
@@ -104,7 +99,7 @@ class LoggingInvocationOperations(Resource):
                    existing_invocationlog['logs'].append(updated_invocation_log)
                mycol.find_one_and_update(my_query, {"$set": existing_invocationlog}, projection={'_id': 0, 'log_id': 0}, return_document=ReturnDocument.AFTER, upsert=False)

            res = make_response(object=invocationlog, status=201)
            res = make_response(object=dict_to_camel_case(clean_empty(invocationlog.to_dict())), status=201)
            current_app.logger.debug("Invocation Logs response ready")

            apis_added = {log.api_id:log.api_name for log in invocationlog.logs}
Loading