def setup(args):
    handlers = []
    stream_handler = logging.StreamHandler()
    stream_handler.setFormatter(
        logging.Formatter(
            datefmt="%Y-%m-%d %H:%M:%S",
            fmt="%(name)s %(asctime)s %(levelname)-8s %(message)s",
        )
    )
    handlers.append(stream_handler)
    level = {
        "debug": logging.DEBUG,
        "info": logging.INFO,
        "warning": logging.WARNING,
        "error": logging.ERROR,
        "critical": logging.CRITICAL,
    }.get(args.log_level, logging.INFO)
    syslogger = (
        logging.NullHandler() if args.no_syslog else logging.handlers.SysLogHandler()
    )
    handlers.append(syslogger)
    if args.log_file:
        handlers.append(logging.FileHandler(args.log_file))

    deployment_log_handler = DeploymentLogHandler()
    handlers.append(deployment_log_handler)

    mender_logger = logging.getLogger("mender")
    mender_logger.deployment_log_handler = deployment_log_handler
    mender_logger.handlers = handlers
    mender_logger.setLevel(level)
    log.info(f"Log level set to {logging.getLevelName(level)}")
示例#2
0
 def run(self, force_bootstrap=False):
     self.context = Init().run(self.context, force_bootstrap)
     log.debug(f"Initialized context: {self.context}")
     deployment_log_handler = DeploymentLogHandler()
     logger = log.getLogger("")
     logger.addHandler(deployment_log_handler)
     self.context.deployment_log_handler = deployment_log_handler
     self.context.deployment_log_handler.disable()
     while True:
         self.unauthorized_machine.run(self.context)
         self.authorized_machine.run(self.context)
示例#3
0
def fixture_ctx():
    settings.PATHS.deployment_log = os.getcwd()
    context = statemachine.Context()
    context.JWT = "foobar"
    context.config = config.Config({}, {})
    context.update_timer = timeutil.IsItTime
    context.deployment_log_handler = DeploymentLogHandler()
    context.deployment = deployments.DeploymentInfo(
        {
            "id": "bugsbunny",
            "artifact": {
                "artifact_name": "release-1",
                "source": {"uri": "https://docker.mender.io",},
            },
        }
    )
    return context
示例#4
0
 class MockLogger:
     handlers = [DeploymentLogHandler()]