作者:mobiledu2502853463 | 来源:互联网 | 2024-11-29 20:40
Python 标准库中的 logging 模块提供了强大的功能来帮助开发者记录程序运行时的信息。通过使用 logging 模块,可以轻松地将日志信息输出到控制台或文件中,这对于调试和监控应用程序非常有用。
import logging
# 配置日志记录的基本设置
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s [%(threadName)s] (%(filename)s:%(lineno)d) %(levelname)s - %(message)s',
datefmt='%Y-%m-%d %H:%M:%S',
filename='app_log.log'
)
# 记录不同级别的日志信息
logging.debug('这是一条调试信息')
logging.info('这是一条信息性消息')
logging.warning('这是一条警告消息')
上述代码配置了日志记录器,设置了日志级别为 DEBUG,并指定了日志格式和日期格式。日志信息将被记录到名为 app_log.log 的文件中。以下是 app_log.log 文件中的日志示例:
2015-03-11 15:54:34 [MainThread] (example.py:10) DEBUG - 这是一条调试信息
2015-03-11 15:54:34 [MainThread] (example.py:11) INFO - 这是一条信息性消息
2015-03-11 15:54:34 [MainThread] (example.py:12) WARNING - 这是一条警告消息
logging.basicConfig 函数参数详解:
参数 |
说明 |
filename |
指定日志文件的名称,用于创建 FileHandler 实例 |
filemode |
指定日志文件的打开模式,默认为 'a'(追加模式) |
format |
定义日志消息的格式 |
datefmt |
定义日期/时间的格式 |
level |
设置日志记录的最低级别,级别顺序为 CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET |
stream |
指定用于初始化 StreamHandler 的流对象,当同时指定了 filename 和 stream 参数时,filename 优先 |
logging 模块中的格式化符号:
符号 |
说明 |
%(asctime)s |
日志记录的时间戳 |
%(filename)s |
源代码文件的名称 |
%(funcName)s |
调用日志记录函数的函数名 |
%(levelname)s |
日志级别名称 |
%(levelno)s |
日志级别的数值 |
%(lineno)d |
日志记录发生的代码行号 |
%(module)s |
源代码模块的名称 |
%(message)s |
实际的日志消息内容 |
%(name)s |
日志记录器的名称 |
%(pathname)s |
源代码文件的完整路径 |
%(process)d |
当前进程的 ID |
%(processName)s |
当前进程的名称 |
%(thread)d |
当前线程的 ID |
%(threadName)s |
当前线程的名称 |