Fix: Run both sonar and clm scans in parallel
[ccsdk/cds.git] / ms / py-executor / server.py
index 5df6f93..2420344 100644 (file)
 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")
@@ -56,10 +57,10 @@ def serve(configuration: ScriptExecutorConfiguration):
 
         # 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)
@@ -73,10 +74,10 @@ def serve(configuration: ScriptExecutorConfiguration):
         # 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()
@@ -96,13 +97,29 @@ if __name__ == '__main__':
     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)
+