Login
网站首页 > 文章中心 > 其它

python_logging模块的使用总结_python logging模块输出到文件

作者:小编 更新时间:2023-09-28 16:11:51 浏览量:477人看过

我来详细讲解一下"Python logging模块的使用总结".

logging模块是Python自带的日志记录模块,提供了一个灵活的方式来生成自定义日志,并且可以轻松地控制日志在不同情况下的输出行为.

在进行日志记录之前,我们需要了解一下logging提供的级别,以决定何时记录日志.logging模块提供的日志级别如下:

DEBUG(10):调试信息

为了使用logging模块,需要引入logging模块:


import logging


配置logging

为了在Python应用程序中使用logging记录日志,需要进行模块的配置,包括有:日志存储路径、日志标识符、日志级别、日志最大文件大小等,一般我们将logging配置放在代码的开头,具体操作如下:


import logging
logging.basicConfig(
filename='myapp.log', # 日志文件名
filemode='w', # 写入模式,一般是覆盖写入还是追加写入,w表示覆盖写入,a表示追加写入
format='%(asctime)s - %(levelname)s - %(message)s', # 日志输出格式(日期时间、级别、信息)
level=logging.INFO # 日志级别
)


记录日志

logging模块提供了不同级别的记录日志的函数,主要有以下几个:

logging.debug(msg, args, *kwargs):记录debug级别的日志

logging.info(msg, args, *kwargs):记录info级别的日志

logging.warning(msg, args, *kwargs):记录warning级别的日志

logging.error(msg, args, *kwargs):记录error级别的日志

logging.critical(msg, args, *kwargs):记录critical级别的日志


import logging

logging.basicConfig(
filename='myapp.log', # 日志文件名
filemode='w', # 写入模式
format='%(asctime)s - %(levelname)s - %(message)s', # 日志格式
level=logging.DEBUG # 日志级别
)

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


上面的示例代码中,我们通过logging.basicConfig函数进行配置,设置了日志级别为debug级别,并分别使用不同级别的函数调用记录不同的日志.

格式化日志信息

在记录日志的时候,想要记录一些额外的信息,例如记录当前线程的ID、记录文件在哪里调用日志等等,logging提供了丰富的format格式化选项,可通过format中的变量进行传值,详见下面的示例:


import logging

logging.basicConfig(
filename='myapp.log',
filemode='w',
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)

logger = logging.getLogger('demo')
logger.warning('This is a demo warning')


上面示例中的format格式化选项中包含了asctime、name、levelname、message等参数,其中asctime参数表示日志记录的时间,name参数表示记录日志的组件名,levelname参数表示日志的级别,message参数表示日志信息.

示例

下面提供两个logging模块的使用示例:

示例1


import logging

logging.basicConfig(level=logging.DEBUG)

logging.debug('This is a debug message')
logging.info('This is an info message')
logging.warning('This is a warning message')
logging.error('This is an error message')
logging.critical('This is a critical message')


示例2


import logging

logging.basicConfig(filename='example.log', level=logging.DEBUG)

logging.debug('This is a debug message')
logging.info('This is an info message')
logging.warning('This is a warning message')
logging.error('This is an error message')
logging.critical('This is a critical message')


在示例1中,我们设置了日志级别为debug级别,并使用不同级别的函数记录不同级别的日志.

以上就是土嘎嘎小编为大家整理的python_logging模块的使用总结相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章