import arlo
This commit is contained in:
70
log/log_manager.py
Normal file
70
log/log_manager.py
Normal file
@ -0,0 +1,70 @@
|
||||
import logging.config
|
||||
import sys
|
||||
|
||||
import config.config
|
||||
|
||||
"""
|
||||
Usage:
|
||||
1 code
|
||||
from log.log_manager import logger
|
||||
logger.info("Starting Jarvas")
|
||||
2 app start
|
||||
python demo.py --logconfig=log_prod.config
|
||||
|
||||
当前目录下的log_prod.config是一份参考配置
|
||||
"""
|
||||
|
||||
# default logging config for development
|
||||
LOG_DEV_CONFIG = {
|
||||
"version": 1,
|
||||
"disable_existing_loggers": False,
|
||||
"loggers": {
|
||||
"root": {
|
||||
"level": "INFO",
|
||||
"handlers": ["consoleHandler"]
|
||||
}
|
||||
},
|
||||
"handlers": {
|
||||
"consoleHandler": {
|
||||
"class": "logging.StreamHandler",
|
||||
"level": "INFO",
|
||||
"formatter": "verbose",
|
||||
"stream": sys.stdout
|
||||
}
|
||||
},
|
||||
"formatters": {
|
||||
"verbose": {
|
||||
"format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s",
|
||||
"datefmt": "%Y-%m-%d %H:%M:%S"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
log_config_message = ""
|
||||
# 获取命令行参数
|
||||
args = sys.argv
|
||||
|
||||
# 查找包含 'logconfig' 的参数
|
||||
logconfig_param = next((arg for arg in args if '--logconfig' in arg), None)
|
||||
logconfig_value = None
|
||||
if logconfig_param:
|
||||
# 如果找到了 logconfig 参数,提取其值
|
||||
_, logconfig_value = logconfig_param.split('=') # 以 '=' 分割
|
||||
log_config_message = f"--logconfig value: {logconfig_value}"
|
||||
else:
|
||||
log_config_message = "没有找到 --logconfig 参数,使用默认log配置"
|
||||
|
||||
if logconfig_value:
|
||||
# 使用入参日志配置文件
|
||||
logging.config.fileConfig(logconfig_value)
|
||||
else:
|
||||
# 使用默认日志配置
|
||||
logging.config.dictConfig(LOG_DEV_CONFIG)
|
||||
|
||||
logger = logging.getLogger('root')
|
||||
# 打印日志配置信息
|
||||
logger.info(log_config_message)
|
||||
|
||||
|
||||
def log(message: str):
|
||||
logger.info(f'{config.config.scheduler_name} {message}')
|
||||
Reference in New Issue
Block a user