本文主要是介绍logging输出日志在文件、控制台的格式设置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
formatter = logging.Formatter(fmt=“%(asctime)s%(message)s”,datefmt=‘%Y-%m-%d %H:%M:%S’)
fh.setFormatter(formatter)
efh.setFormatter(formatter)
stdout.setFormatter(formatter)
stderr.setFormatter(formatter)
logger.addHandler(fh)
logger.addHandler(efh)
在Python中,logging模块用于程序输出日志信息,提供了灵活的日志系统配置。这里的代码主要是对日志记录器(logger)和多个处理器(handler)进行格式化配置。
formatter = logging.Formatter(fmt=“%(asctime)s%(message)s”, datefmt=‘%Y-%m-%d %H:%M:%S’):这行代码创建了一个Formatter对象,用来设置日志的显示格式。fmt参数定义了日志消息的格式,其中%(asctime)s会输出时间戳,%(message)s会输出具体的日志消息内容。datefmt参数定义了时间戳的显示格式,这里是年-月-日 时:分:秒的格式。
fh.setFormatter(formatter):这行代码将上面创建的格式化对象formatter应用到文件处理器fh上,意味着fh处理的日志信息将会按照formatter指定的格式来显示。
efh.setFormatter(formatter):同上,将格式化对象应用到错误文件处理器efh上。
stdout.setFormatter(formatter):将格式化对象应用到标准输出处理器stdout上,意味着通过标准输出(通常是控制台)的日志信息也会按照formatter指定的格式显示。
stderr.setFormatter(formatter):将格式化对象应用到标准错误处理器stderr上,意味着错误信息也会按照formatter指定的格式显示。
logger.addHandler(fh):这行代码将文件处理器fh添加到logger中,这样logger发出的日志信息会被fh处理并输出到指定的文件中。
logger.addHandler(efh):同上,将错误文件处理器efh添加到logger中。
1、formatter = logging.Formatter(fmt=“%(asctime)s%(message)s”, datefmt=‘%Y-%m-%d %H:%M:%S’):
创建了一个日志格式化器对象。
fmt参数指定了日志的格式,这里表示日志将包含日志记录的时间(%(asctime)s)和日志消息内容(%(message)s)。
datefmt参数指定了时间部分的具体格式,这里是年 - 月 - 日 时:分: 秒的格式。
2、fh.setFormatter(formatter) 和 efh.setFormatter(formatter):
假设 fh 和 efh 是不同的日志处理程序对象(可能是文件处理程序、特定错误处理程序等),这里将前面创建的格式化器应用到这两个处理程序上,使得它们输出的日志按照指定的格式进行格式化。
3、stdout.setFormatter(formatter) 和 stderr.setFormatter(formatter):
如果 stdout 和 stderr 也是日志处理程序相关的对象,这两行代码将格式化器应用到它们上,同样使它们输出的日志按指定格式呈现。
4、logger.addHandler(fh) 和 logger.addHandler(efh):
将处理程序 fh 和 efh 添加到日志记录器 logger 上。这样,当有日志消息需要记录时,日志记录器会将消息传递给这些处理程序进行处理和输出。
总体来说,这段代码的作用是配置日志记录器,通过创建格式化器并将其应用到不同的日志处理程序上,然后将这些处理程序添加到日志记录器,以实现对日志输出的格式控制和多渠道输出。
这篇关于logging输出日志在文件、控制台的格式设置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!