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

相关文章

PostgreSQL 默认隔离级别的设置

《PostgreSQL默认隔离级别的设置》PostgreSQL的默认事务隔离级别是读已提交,这是其事务处理系统的基础行为模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一 默认隔离级别概述1.1 默认设置1.2 各版本一致性二 读已提交的特性2.1 行为特征2.2

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

mtu设置多少网速最快? 路由器MTU设置最佳网速的技巧

《mtu设置多少网速最快?路由器MTU设置最佳网速的技巧》mtu设置多少网速最快?想要通过设置路由器mtu获得最佳网速,该怎么设置呢?下面我们就来看看路由器MTU设置最佳网速的技巧... 答:1500 MTU值指的是在网络传输中数据包的最大值,合理的设置MTU 值可以让网络更快!mtu设置可以优化不同的网

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五

MySQL 设置AUTO_INCREMENT 无效的问题解决

《MySQL设置AUTO_INCREMENT无效的问题解决》本文主要介绍了MySQL设置AUTO_INCREMENT无效的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录快速设置mysql的auto_increment参数一、修改 AUTO_INCREMENT 的值。

详解Linux中常见环境变量的特点与设置

《详解Linux中常见环境变量的特点与设置》环境变量是操作系统和用户设置的一些动态键值对,为运行的程序提供配置信息,理解环境变量对于系统管理、软件开发都很重要,下面小编就为大家详细介绍一下吧... 目录前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变

C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式

《C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式》Markdown凭借简洁的语法、优良的可读性,以及对版本控制系统的高度兼容性,逐渐成为最受欢迎的文档格式... 目录为什么要将文档转换为 Markdown 格式使用工具将 Word 文档转换为 Markdown(.

Golang 日志处理和正则处理的操作方法

《Golang日志处理和正则处理的操作方法》:本文主要介绍Golang日志处理和正则处理的操作方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录1、logx日志处理1.1、logx简介1.2、日志初始化与配置1.3、常用方法1.4、配合defer

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas