python脚本专用的日志配置
log.py
"""
脚本专用的日志配置,会将日志同时输出到文件和屏幕
"""
import logging
import sys
format = '%(asctime)s %(filename)s [line:%(lineno)d] %(levelname)s - %(message)s'
datefmt = "%Y-%m-%d %H:%M:%S"
# 配置 root根记录器
logging.basicConfig(
level=logging.DEBUG,
format=format,
)
# 创建 普通记录器
mylogger = logging.getLogger(__name__)
# 创建 handler处理器
console_h = logging.StreamHandler(sys.stdout)
file_h = logging.FileHandler('myapp.log', 'w', 'utf-8')
# 定义 formatter格式化器
formatter = logging.Formatter(format, datefmt=datefmt)
console_h.setFormatter(formatter)
file_h.setFormatter(formatter)
# 增加处理器
mylogger.addHandler(console_h)
mylogger.addHandler(file_h)
# 阻断向父logger的传播
mylogger.propagate = False
# test
if __name__ == '__main__':
print(mylogger)
mylogger.error('err test xxx')
mylogger.info('my info~~~')
使用方法
在脚本中,使用如下方式导入并使用
script.py
from log import mylogger
mylogger.info('my info~~~')
mylogger.error('err test xxx')