def init_logger(): global default_logger, sandbox_stdout sandbox_id = None try: sandbox_id = os.environ["sandbox_id"] except KeyError: pass if sandbox_id is not None: log_file_name = configuration.get_component() + sandbox_id else: log_file_name = configuration.get_component() file_name = os.path.join(configuration.get_working_directory_path(), log_file_name + '.log') logging.Formatter.converter = time.gmtime # Default logger default_logger = logging.getLogger("default_logger") default_logger.setLevel(logging.INFO) # Logger for the sandbox traces coming back to worker sandbox_stdout = logging.getLogger("sandbox_stdout_logger") sandbox_stdout.setLevel(logging.INFO) # Default rotating file handler write traces with the specified format to disk. default_rf_handler = logging.handlers.RotatingFileHandler( file_name, maxBytes=10485760, backupCount=5) formatter = logging.Formatter('%(asctime)s (' + str(os.getpid()) + ')' + configuration.get_component() + ' : %(message)s', datefmt="%Y-%m-%d %H:%M:%S") default_rf_handler.setFormatter(formatter) default_logger.addHandler(default_rf_handler) # Traces coming from sandbox child process and collected by the worker are already formatted, hence no formatter # needed. worker_sandbox_rf_handler = logging.handlers.RotatingFileHandler( file_name, maxBytes=10485760, backupCount=5) sandbox_stdout.addHandler(worker_sandbox_rf_handler) # Stdout handler (Worker traces have to be formatted). log_stream = logging.StreamHandler(sys.stdout) log_stream.setFormatter(formatter) default_logger.addHandler(log_stream) # Stdout handler (traces coming from child process are already formatted). sandbox_log_stream = logging.StreamHandler(sys.stdout) sandbox_stdout.addHandler(sandbox_log_stream)
def init(): """Initializes all required variable for the tracer.""" global jrds_client, jrds_cert_path, jrds_key_path, jrds_base_uri, subscription_id, \ account_id, machine_id, hybrid_worker_group_name, worker_version, activity_id, sandbox_id # Create the http client http_client_factory = HttpClientFactory( configuration.get_jrds_cert_path(), configuration.get_jrds_key_path(), configuration.get_verify_certificates()) http_client = http_client_factory.create_http_client(sys.version_info) jrds_client = JRDSClient(http_client) # Populate global configuration values jrds_cert_path = configuration.get_jrds_cert_path() jrds_key_path = configuration.get_jrds_key_path() jrds_base_uri = configuration.get_jrds_base_uri() subscription_id = "00000000-0000-0000-0000-000000000000" # temporary place holder account_id = configuration.get_account_id() machine_id = configuration.get_machine_id() hybrid_worker_group_name = configuration.get_hybrid_worker_name() worker_version = configuration.get_worker_version() sandbox_id = None try: sandbox_id = os.environ["sandbox_id"] except KeyError: pass # initialize the loggers for for all components except runbook if configuration.get_component() != "runbook": init_logger()
def init(): """Initializes all required variable for the tracer.""" global jrds_client, jrds_cert_path, jrds_key_path, jrds_base_uri, subscription_id, \ account_id, machine_id, hybrid_worker_group_name, worker_version, sandbox_id # Create the http client http_client_factory = HttpClientFactory(configuration.get_jrds_cert_path(), configuration.get_jrds_key_path(), configuration.get_verify_certificates()) http_client = http_client_factory.create_http_client(sys.version_info) jrds_client = JRDSClient(http_client) # Populate global configuration values jrds_cert_path = configuration.get_jrds_cert_path() jrds_key_path = configuration.get_jrds_key_path() jrds_base_uri = configuration.get_jrds_base_uri() subscription_id = "00000000-0000-0000-0000-000000000000" # temporary place holder account_id = configuration.get_account_id() machine_id = configuration.get_machine_id() hybrid_worker_group_name = configuration.get_hybrid_worker_name() worker_version = configuration.get_worker_version() sandbox_id = None try: sandbox_id = os.environ["sandbox_id"] except KeyError: pass # initialize the loggers for for all components except runbook if configuration.get_component() != "runbook": locallogger.init_logger()
def format_and_issue_generic_hybrid_worker_trace(event_id, task_name, message, t_id, keyword, activity_id): """Send the trace to MDS (in the cloud) using the JRDS api. Args: event_id : int , the event id. This event id doesn't have to map to an ETW event id in the cloud. task_name : string, the task name. message : string, the message. t_id : int , the thread id. keyword : string, the keyword. """ # The local trace is converted into the "GenericHybridWorker" trace in the cloud (eventId: 16000). # For this reason, this trace has to follow the JRDS TraceEventSource.cs event's signature contract # for eventId 16000. cloud_trace_format = [account_id, subscription_id, hybrid_worker_group_name, machine_id, configuration.get_component(), event_id, task_name, keyword, t_id, os.getpid(), activity_id, worker_version, message] issue_jrds_trace(16000, activity_id, 0, cloud_trace_format)
def init_logger(): global default_logger, sandbox_stdout sandbox_id = None try: sandbox_id = os.environ["sandbox_id"] except KeyError: pass if sandbox_id is not None: log_file_name = configuration.get_component() + sandbox_id else: log_file_name = configuration.get_component() file_name = os.path.join(configuration.get_working_directory_path(), log_file_name + '.log') logging.Formatter.converter = time.gmtime # Default logger default_logger = logging.getLogger("default_logger") default_logger.setLevel(logging.INFO) # Logger for the sandbox traces coming back to worker sandbox_stdout = logging.getLogger("sandbox_stdout_logger") sandbox_stdout.setLevel(logging.INFO) # Default rotating file handler write traces with the specified format to disk. default_rf_handler = logging.handlers.RotatingFileHandler(file_name, maxBytes=10485760, backupCount=5) formatter = logging.Formatter('%(asctime)s (' + str(os.getpid()) + ')' + configuration.get_component() + ' : %(message)s', datefmt="%Y-%m-%d %H:%M:%S") default_rf_handler.setFormatter(formatter) default_logger.addHandler(default_rf_handler) # Traces coming from sandbox child process and collected by the worker are already formatted, hence no formatter # needed. worker_sandbox_rf_handler = logging.handlers.RotatingFileHandler(file_name, maxBytes=10485760, backupCount=5) sandbox_stdout.addHandler(worker_sandbox_rf_handler) # Stdout handler (Worker traces have to be formatted). log_stream = logging.StreamHandler(sys.stdout) log_stream.setFormatter(formatter) default_logger.addHandler(log_stream) # Stdout handler (traces coming from child process are already formatted). sandbox_log_stream = logging.StreamHandler(sys.stdout) sandbox_stdout.addHandler(sandbox_log_stream)
def format_and_issue_generic_hybrid_worker_trace(event_id, task_name, message, t_id, keyword): """Send the trace to MDS (in the cloud) using the JRDS api. Args: event_id : int , the event id. This event id doesn't have to map to an ETW event id in the cloud. task_name : string, the task name. message : string, the message. t_id : int , the thread id. keyword : string, the keyword. """ # The local trace is converted into the "GenericHybridWorker" trace in the cloud (eventId: 16000). # For this reason, this trace has to follow the JRDS TraceEventSource.cs event's signature contract # for eventId 16000. cloud_trace_format = [ account_id, subscription_id, hybrid_worker_group_name, machine_id, configuration.get_component(), event_id, task_name, keyword, t_id, os.getpid(), u_activity_id, worker_version, message ] issue_jrds_trace(16000, u_activity_id, 0, cloud_trace_format)
def init(): """Initializes all required variable for the tracer.""" global default_logger, sandbox_stdout, jrds_client, jrds_cert_path, jrds_key_path, jrds_base_uri, subscription_id, \ account_id, machine_id, hybrid_worker_group_name, worker_version, activity_id, sandbox_id # Create the http client http_client_factory = HttpClientFactory( configuration.get_jrds_cert_path(), configuration.get_jrds_key_path(), configuration.get_verify_certificates()) http_client = http_client_factory.create_http_client(sys.version_info) jrds_client = JRDSClient(http_client) # Populate global configuration values jrds_cert_path = configuration.get_jrds_cert_path() jrds_key_path = configuration.get_jrds_key_path() jrds_base_uri = configuration.get_jrds_base_uri() subscription_id = "00000000-0000-0000-0000-000000000000" # temporary place holder account_id = configuration.get_account_id() machine_id = configuration.get_machine_id() hybrid_worker_group_name = configuration.get_hybrid_worker_name() worker_version = configuration.get_worker_version() sandbox_id = None try: sandbox_id = os.environ["sandbox_id"] except KeyError: pass if sandbox_id is not None: log_file_name = configuration.get_component() + sandbox_id else: log_file_name = configuration.get_component() file_name = os.path.join(configuration.get_working_directory_path(), log_file_name + '.log') logging.Formatter.converter = time.gmtime # Default logger default_logger = logging.getLogger("default_logger") default_logger.setLevel(logging.INFO) # Logger for the sandbox traces coming back to worker sandbox_stdout = logging.getLogger("sandbox_stdout_logger") sandbox_stdout.setLevel(logging.INFO) # Default rotating file handler write traces with the specified format to disk. default_rf_handler = logging.handlers.RotatingFileHandler( file_name, maxBytes=10485760, backupCount=5) formatter = logging.Formatter('%(asctime)s (' + str(os.getpid()) + ')' + configuration.get_component() + ' : %(message)s', datefmt="%Y-%m-%d %H:%M:%S") default_rf_handler.setFormatter(formatter) default_logger.addHandler(default_rf_handler) # Traces coming from sandbox child process and collected by the worker are already formatted, hence no formatter # needed. worker_sandbox_rf_handler = logging.handlers.RotatingFileHandler( file_name, maxBytes=10485760, backupCount=5) sandbox_stdout.addHandler(worker_sandbox_rf_handler) # Stdout handler (Worker traces have to be formatted). log_stream = logging.StreamHandler(sys.stdout) log_stream.setFormatter(formatter) default_logger.addHandler(log_stream) # Stdout handler (traces coming from child process are already formatted). sandbox_log_stream = logging.StreamHandler(sys.stdout) sandbox_stdout.addHandler(sandbox_log_stream)
def init(): """Initializes all required variable for the tracer.""" global default_logger, sandbox_stdout, jrds_client, jrds_cert_path, jrds_key_path, jrds_base_uri, subscription_id,\ account_id, machine_id, hybrid_worker_group_name, worker_version, activity_id # Create the http client http_client_factory = HttpClientFactory(configuration.get_jrds_cert_path(), configuration.get_jrds_key_path()) http_client = http_client_factory.create_http_client(sys.version_info, configuration.get_verify_certificates()) jrds_client = JRDSClient(http_client) # Populate global configuration values jrds_cert_path = configuration.get_jrds_cert_path() jrds_key_path = configuration.get_jrds_key_path() jrds_base_uri = configuration.get_jrds_base_uri() subscription_id = "00000000-0000-0000-0000-000000000000" # temporary place holder account_id = configuration.get_account_id() machine_id = configuration.get_machine_id() hybrid_worker_group_name = configuration.get_hybrid_worker_name() worker_version = configuration.get_worker_version() activity_id = generate_activity_id() sandbox_id = None try: sandbox_id = os.environ["sandbox_id"] except KeyError: pass if sandbox_id is not None: log_file_name = configuration.get_component() + sandbox_id else: log_file_name = configuration.get_component() file_name = os.path.join(configuration.get_working_directory_path(), log_file_name + '.log') logging.Formatter.converter = time.gmtime # Default logger default_logger = logging.getLogger("default_logger") default_logger.setLevel(logging.INFO) # Logger for the sandbox traces coming back to worker sandbox_stdout = logging.getLogger("sandbox_stdout_logger") sandbox_stdout.setLevel(logging.INFO) # Default rotating file handler write traces with the specified format to disk. default_rf_handler = logging.handlers.RotatingFileHandler(file_name, maxBytes=10485760, backupCount=5) formatter = logging.Formatter('%(asctime)s (' + str(os.getpid()) + ')' + configuration.get_component() + ' : %(message)s', datefmt="%Y-%m-%d %H:%M:%S") default_rf_handler.setFormatter(formatter) default_logger.addHandler(default_rf_handler) # Traces coming from sandbox child process and collected by the worker are already formatted, hence no formatter # needed. worker_sandbox_rf_handler = logging.handlers.RotatingFileHandler(file_name, maxBytes=10485760, backupCount=5) sandbox_stdout.addHandler(worker_sandbox_rf_handler) # Stdout handler (Worker traces have to be formatted). log_stream = logging.StreamHandler(sys.stdout) log_stream.setFormatter(formatter) default_logger.addHandler(log_stream) # Stdout handler (traces coming from child process are already formatted). sandbox_log_stream = logging.StreamHandler(sys.stdout) sandbox_stdout.addHandler(sandbox_log_stream)