"""
1)要求将所有级别的所有日志都写入磁盘文件中
2)all.log文件中记录所有的日志信息,日志格式为:日期和时间 - 日志级别 - 日志信息
3)error.log文件中单独记录error及以上级别的日志信息,日志格式为:日期和时间 - 日志级别 - 文件名[:行号] - 日志信息
4)要求all.log在每天凌晨进行日志切割
"""
import logging
import logging.handlers
import datetime
# 日期格式
DATE_FORMAT = "%m/%d/%Y %H:%M:%S %p"
# 添加日志器的名称标识
logger = logging.getLogger('mylogger')
logger.setLevel(logging.DEBUG)
all_handler = logging.handlers.TimedRotatingFileHandler(
filename='all.log', when='midnight', interval=1, backupCount=7, atTime=datetime.time(0, 0, 0, 0)
)
all_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s"))
err_handler = logging.FileHandler('error.log')
err_handler.setLevel(logging.ERROR)
# 格式器
err_handler.setFormatter(
logging.Formatter("%(asctime)s | %(levelname)s | %(filename)s:%(lineno)d -%(pathname)s \n%(message)s")
)
# 给logger 添加处理器
logger.addHandler(all_handler)
logger.addHandler(err_handler)
logger.debug('debug message')
logger.info('info message')
logger.warning('warning message')
logger.error('error message')
logger.critical('critical message')
logger.info('日志输出完成')
参考日志
https://www.cnblogs.com/yyds/p/6901864.html
标签:logging,log,python,message,配置,handler,日志,logger From: https://www.cnblogs.com/rush-peng/p/17092440.html