复制"""
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.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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?