我来详细讲解一下"Python logging模块的使用总结".
logging模块是Python自带的日志记录模块,提供了一个灵活的方式来生成自定义日志,并且可以轻松地控制日志在不同情况下的输出行为.
在进行日志记录之前,我们需要了解一下logging提供的级别,以决定何时记录日志.logging模块提供的日志级别如下:
DEBUG(10):调试信息
为了使用logging模块,需要引入logging模块:
import 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模块的使用示例:
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')
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模块的使用总结相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!