import logging
import os
import time
+import yaml
from builtins import KeyboardInterrupt
from concurrent import futures
from pathlib import Path, PurePath
import grpc
from manager.servicer import ArtifactManagerServicer
-from proto.BlueprintManagement_pb2_grpc import add_BlueprintManagementServiceServicer_to_server
+from proto.BluePrintManagement_pb2_grpc import add_BluePrintManagementServiceServicer_to_server
-from blueprints_grpc import BlueprintProcessing_pb2_grpc, ScriptExecutorConfiguration
-from blueprints_grpc.blueprint_processing_server import BlueprintProcessingServer
+from blueprints_grpc import BluePrintProcessing_pb2_grpc, ScriptExecutorConfiguration
+from blueprints_grpc.blueprint_processing_server import BluePrintProcessingServer
from blueprints_grpc.request_header_validator_interceptor import RequestHeaderValidatorInterceptor
logger = logging.getLogger("Server")
# create server
server = grpc.server(futures.ThreadPoolExecutor(max_workers=int(maxWorkers)))
- BlueprintProcessing_pb2_grpc.add_BlueprintProcessingServiceServicer_to_server(
- BlueprintProcessingServer(configuration), server
+ BluePrintProcessing_pb2_grpc.add_BluePrintProcessingServiceServicer_to_server(
+ BluePrintProcessingServer(configuration), server
)
- add_BlueprintManagementServiceServicer_to_server(ArtifactManagerServicer(), server)
+ add_BluePrintManagementServiceServicer_to_server(ArtifactManagerServicer(), server)
# add secure port using credentials
server.add_secure_port('[::]:' + port, server_credentials)
# create server with token authentication interceptors
server = grpc.server(futures.ThreadPoolExecutor(max_workers=int(maxWorkers)),
interceptors=(header_validator,))
- BlueprintProcessing_pb2_grpc.add_BlueprintProcessingServiceServicer_to_server(
- BlueprintProcessingServer(configuration), server
+ BluePrintProcessing_pb2_grpc.add_BluePrintProcessingServiceServicer_to_server(
+ BluePrintProcessingServer(configuration), server
)
- add_BlueprintManagementServiceServicer_to_server(ArtifactManagerServicer(), server)
+ add_BluePrintManagementServiceServicer_to_server(ArtifactManagerServicer(), server)
server.add_insecure_port('[::]:' + port)
server.start()
config_file = str(os.path.expanduser(Path(supplied_configuration_file or default_configuration_file)))
configuration = ScriptExecutorConfiguration(config_file)
- logging_formater = '%(asctime)s - %(name)s - %(threadName)s - %(levelname)s - %(message)s'
- logging.basicConfig(filename=configuration.script_executor_property('logFile'),
- level=logging.DEBUG,
+ log_file_name = configuration.script_executor_property('logFile')
+ log_file = os.path.join(os.path.dirname(os.path.abspath(os.path.dirname(__file__))), "logging.yaml")
+ print(log_file)
+ with open(log_file) as log:
+ log_config = yaml.safe_load(log)
+ print(log_config)
+ logging_formater = log_config["formatters"]["default"]["format"]
+ print(log_config["loglevel"])
+ if log_config["loglevel"] == "debug":
+ loglevel = logging.DEBUG
+ elif log_config["loglevel"] == "info":
+ loglevel = logging.INFO
+ elif log_config["loglevel"] == "error":
+ loglevel = logging.ERROR
+ logging.basicConfig(filename=log_file_name,
+ level=loglevel,
format=logging_formater)
- console = logging.StreamHandler()
- console.setLevel(logging.INFO)
+ console = logging.handlers.RotatingFileHandler(log_file_name, maxBytes=log_config["logfilesize"],
+ backupCount=log_config["rollovercount"])
+
+ console.setLevel(loglevel)
formatter = logging.Formatter(logging_formater)
console.setFormatter(formatter)
logging.getLogger('').addHandler(console)
serve(configuration)
+