+
+ # logging
+ log_format_simple = "%(asctime)s %(levelname)s %(name)s %(filename)s:%(lineno)s %(message)s"
+ log_formatter_simple = logging.Formatter(log_format_simple, datefmt='%Y-%m-%dT%H:%M:%S')
+ config["database"]["logger_name"] = "lcm.db"
+ config["storage"]["logger_name"] = "lcm.fs"
+ config["message"]["logger_name"] = "lcm.msg"
+ if "logfile" in config["global"]:
+ file_handler = logging.handlers.RotatingFileHandler(config["global"]["logfile"],
+ maxBytes=100e6, backupCount=9, delay=0)
+ file_handler.setFormatter(log_formatter_simple)
+ self.logger.addHandler(file_handler)
+ else:
+ str_handler = logging.StreamHandler()
+ str_handler.setFormatter(log_formatter_simple)
+ self.logger.addHandler(str_handler)
+
+ if config["global"].get("loglevel"):
+ self.logger.setLevel(config["global"]["loglevel"])
+
+ # logging other modules
+ for k1, logname in {"message": "lcm.msg", "database": "lcm.db", "storage": "lcm.fs"}.items():
+ config[k1]["logger_name"] = logname
+ logger_module = logging.getLogger(logname)
+ if "logfile" in config[k1]:
+ file_handler = logging.handlers.RotatingFileHandler(config[k1]["logfile"],
+ maxBytes=100e6, backupCount=9, delay=0)
+ file_handler.setFormatter(log_formatter_simple)
+ logger_module.addHandler(file_handler)
+ if "loglevel" in config[k1]:
+ logger_module.setLevel(config[k1]["loglevel"])
+