当我们编写代码时,经常需要了解程序的运行情况,帮助我们调试和优化程序,这时我们可以通过日志记录来实现。在Python中,使用log
模块可以很方便地进行日志记录。
log函数
在log
模块中,使用basicConfig()
函数进行日志的基本配置,可以指定日志级别、输出格式等参数,常用的级别有:DEBUG、INFO、WARNING、ERROR和CRITICAL。
import logging
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
- level:指定日志的级别,低于该级别的日志不会被输出,默认为logging.WARNING级别。
- format:指定日志输出的格式,可以指定时间、输出级别、日志内容等信息。
实例:
import logging
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
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.')
输出结果:
2021-08-17 09:48:47,135 - DEBUG - This is a debug message.
2021-08-17 09:48:47,135 - INFO - This is an info message.
2021-08-17 09:48:47,135 - WARNING - This is a warning message.
2021-08-17 09:48:47,135 - ERROR - This is an error message.
2021-08-17 09:48:47,135 - CRITICAL - This is a critical message.
log文件记录
除了在控制台输出日志外,我们还可以将日志记录到文件中。在basicConfig()
函数中增加参数filename
来指定日志文件地址,并且修改format
参数以使日志格式更友好。
import logging
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s', filename='log.txt')
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.')
输出结果在log.txt
文件中:
2021-08-17 09:52:28,319 - DEBUG - This is a debug message.
2021-08-17 09:52:28,319 - INFO - This is an info message.
2021-08-17 09:52:28,319 - WARNING - This is a warning message.
2021-08-17 09:52:28,319 - ERROR - This is an error message.
2021-08-17 09:52:28,319 - CRITICAL - This is a critical message.
这就是Python中进行日志处理的一些基础知识,通过日志记录可以更方便的进行程序调试和优化。而在具体实践中,还需要根据具体的业务场景进行日志记录方式的选择和解读。