要配置logging输出信息时带有时间和当前程序在第几行的信息,可以按照以下步骤进行:

  1. 导入logging模块和datetime模块:
import logging
import datetime
  1. 创建一个logger对象,并设置其日志级别:
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
  1. 创建一个文件处理器,并设置其日志级别和日志格式:
log_file = 'log.txt'
file_handler = logging.FileHandler(log_file)
file_handler.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s - %(filename)s - Line:%(lineno)d')
file_handler.setFormatter(formatter)
  1. 添加文件处理器到logger对象中:
logger.addHandler(file_handler)
  1. 在需要输出日志的地方,使用logger.debug()logger.info()等方法输出日志信息:
logger.debug('This is a debug message.')
logger.info('This is an info message.')

这样配置后,每次输出日志信息时,日志文件中的每一行都会显示时间、日志级别、日志信息、当前程序的文件名和行号。

完整的示例代码如下:

import logging
import datetime

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

log_file = 'log.txt'
file_handler = logging.FileHandler(log_file)
file_handler.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s - %(filename)s - Line:%(lineno)d')
file_handler.setFormatter(formatter)

logger.addHandler(file_handler)

logger.debug('This is a debug message.')
logger.info('This is an info message.')

运行以上代码后,会在当前目录生成一个名为log.txt的日志文件,文件内容类似于:

2022-01-01 12:00:00,000 - DEBUG - This is a debug message. - example.py - Line:10
2022-01-01 12:00:01,000 - INFO - This is an info message. - example.py - Line:11
``
怎么配置logging输出信息时带有时间及当前程序在第几行

原文地址: http://www.cveoy.top/t/topic/hXEH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录