logging输出日志在文件、控制台的格式设置

2024-09-05 16:52

本文主要是介绍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输出日志在文件、控制台的格式设置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1139533

相关文章

HTML5表格语法格式详解

《HTML5表格语法格式详解》在HTML语法中,表格主要通过table、tr和td3个标签构成,本文通过实例代码讲解HTML5表格语法格式,感兴趣的朋友一起看看吧... 目录一、表格1.表格语法格式2.表格属性 3.例子二、不规则表格1.跨行2.跨列3.例子一、表格在html语法中,表格主要通过< tab

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序

Java使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

C#TextBox设置提示文本方式(SetHintText)

《C#TextBox设置提示文本方式(SetHintText)》:本文主要介绍C#TextBox设置提示文本方式(SetHintText),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录C#TextBox设置提示文本效果展示核心代码总结C#TextBox设置提示文本效果展示核心代

Qt spdlog日志模块的使用详解

《Qtspdlog日志模块的使用详解》在Qt应用程序开发中,良好的日志系统至关重要,本文将介绍如何使用spdlog1.5.0创建满足以下要求的日志系统,感兴趣的朋友一起看看吧... 目录版本摘要例子logmanager.cpp文件main.cpp文件版本spdlog版本:1.5.0采用1.5.0版本主要

Pyserial设置缓冲区大小失败的问题解决

《Pyserial设置缓冲区大小失败的问题解决》本文主要介绍了Pyserial设置缓冲区大小失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录问题描述原因分析解决方案问题描述使用set_buffer_size()设置缓冲区大小后,buf

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一