logging模块的四大组件

Posted 永远不要矫情

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了logging模块的四大组件相关的知识,希望对你有一定的参考价值。

1.四大组件

四大组件包括:Logger,Handler,Filter和Formatter。
在这里插入图片描述

2.Logger类的相关方法

logger类的主要方法如下:
在这里插入图片描述

3.Handler类

Handler对象的作用是基于日志消息的level,将消息分发到handler指定的位置,例如文件,网络等。常用的方法如下所示:
在这里插入图片描述
handler的相关子类如下所示:
在这里插入图片描述
代码如下:会在同目录下生成一个all.log文件

import logging
import logging.handlers
import datetime

logger = logging.getLogger('mylogger')
logger.setLevel(logging.DEBUG)

rf_handler = logging.handlers.TimedRotatingFileHandler('all.log', when='midnight', interval=1, backupCount=7, atTime=datetime.time(0, 0, 0, 0))
rf_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s"))

f_handler = logging.FileHandler('error.log')
f_handler.setLevel(logging.ERROR)
f_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(filename)s[:%(lineno)d] - %(message)s"))

logger.addHandler(rf_handler)
logger.addHandler(f_handler)

logger.debug('debug message')
logger.info('info message')
logger.warning('warning message')
logger.error('error message')
logger.critical('critical message')

输出如下:
在这里插入图片描述

以上是关于logging模块的四大组件的主要内容,如果未能解决你的问题,请参考以下文章

logging模块

logging模块全总结

python logging模块

Python之日志处理 logging模块

Python之日志处理(logging模块)

25.logging模块