使用Python的logging.config.fileConfig配置日志

文件 logglogging.conf 配置如下:

[loggers]

keys=root,fileLogger,rotatingFileLogger

[handlers]

keys=consoleHandler,fileHandler,rotatingFileHandler

[formatters]

keys=simpleFormatter

[logger_root]

level=DEBUG

handlers=consoleHandler

[logger_fileLogger]

level=DEBUG

# 该logger中配置的handler

handlers=fileHandler

# logger 的名称

qualname=fileLogger

propagate=0

[logger_rotatingFileLogger]

level=DEBUG

# 这样配置,rotatingFileLogger中就同时配置了consoleHandler,rotatingFileHandler

# consoleHandler 负责将日志输出到控制台

# rotatingFileHandler 负责将日志输出保存到文件中

handlers=consoleHandler,rotatingFileHandler

qualname=rotatingFileLogger

propagate=0

[handler_consoleHandler]

class=StreamHandler

level=DEBUG

formatter=simpleFormatter

args=(sys.stdout,)

[handler_fileHandler]

class=FileHandler

level=DEBUG

formatter=simpleFormatter

args=('logs/logging.log', 'a')

[handler_rotatingFileHandler]

class=handlers.RotatingFileHandler

level=WARNING

formatter=simpleFormatter

args=("logs/rotating_logging.log", "a", 1*1024*1024, 5)

[formatter_simpleFormatter]

#format=%(asctime)s - %(name)s - %(levelname)s - %(message)s

format=%(asctime)s - %(module)s - %(thread)d - %(levelname)s : %(message)s

datefmt=%Y-%m-%d %H:%M:%S

以上配置文件主要包含以下几部分:

loggers : 配置logger信息。必须包含一个名字叫做root的logger,当使用无参函数logging.getLogger()时,默认返回root这个logger,其他自定义logger可以通过 logging.getLogger("fileLogger") 方式进行调用

handlers:定义声明handlers信息。常用的handlers包括 StreamHandler(仅将日志输出到kong控制台)、FileHandler(将日志信息输出保存到文件)、RotaRotatingFileHandler(将日志输出保存到文件中,并设置单个日志wenj文件的大小和日志文件个数)

formatter : 设置日志格式

logger_xxx : 对loggers中声明的logger进行逐个配置,且要一一对应

handler_xxx : 对handlers中声明的handler进行逐个配置,且要一一对应

formatter_xxx : 对声明的formatterjinx进行配置

代码示例

logging.config.fileConfig(“logging.conf”)

# 输出日志到控制台,获取的是root对应的logger

console_logger = logging.getLogger()

# 输出日志到单个文件

file_logger = logging.getLogger(name="fileLogger")

# rotatingFileLogger中额consoleHandler输出到控制台,rotatingHandler输出日志到文件

rotating_logger = logging.getLogger(name="rotatingFileLogger")

友情提示

进行以上配置后,在项目中需要进行日志输出的地方通过logging.getLogger()方式就可以获取到du应的logger,然后就可以使用logger.info("xxx")jinx进行日志输出了。

使用这种方式配置日志,一定要在项目的入口函数中就调用 logging.config.fileConfig(“logging.conf”)函数,因为 logging.conf 文件中,在handler中配置的是日志文件的相对地址,如果在其他代码文件中进行调用,由于相对地址的原因,将导致日志文件会出现在yixi意想不到的位置。

————————————————

版权声明:本文为CSDN博主「* star *」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/cxx654/article/details/83216337

(0)

相关推荐

  • JUL日志实现

    简介 本篇将介绍如何使用JDK原生自带的日志框架JUL. JUL日志框架 JUL全称Java Util Logging,是Java原生的日志框架,使用时不需要另外引入第三方类库,相对于其他日志框架来说 ...

  • 第32天:Python logging 模块详解

    This module defines functions and classes which implement a flexible event logging system for applic ...

  • Python 日志打印之logging.config.dictConfig使用总结

    #实践环境 WIN 10 Python 3.6.5 #函数说明 logging.config.dictConfig(config) dictConfig函数位于logging.config模块,该函数 ...

  • python测试开发django-3.url配置

    前言 我们在浏览器访问一个网页是通过url地址去访问的,django管理url配置是在urls.py文件.当一个页面数据很多时候,通过会有翻页的情况,那么页数是不固定的,如:page=1. 也就是ur ...

  • springboot 配置日志输出

    直接创建个名为 logback.xml 放到 resources 目录下即可 logback.xml <?xml version="1.0" encoding="U ...

  • Python入门02 — Python安装及开发环境配置

    Python 是一款易于学习且功能强大的编程语言. 它具有高效率的数据结构,能够简单又有效地实现面向对象编程.Python 简洁的语法与动态输入之特性,加之其解释性语言的本质,使得它成为一种在多种领域 ...

  • vue.config.js配置优化

    vue.config.js完整代码如下: 'use strict'; // Template version: 1.3.1 // see http://vuejs-templates.github.i ...

  • 最全总结 | 聊聊 Python 数据处理全家桶(配置篇)

    聊聊 Python 数据处理全家桶(Memca 篇) 1.前言 在实际项目中,经常会接触到各种各样的配置文件,它可以增强项目的可维护性 常用配件文件的处理方式,包含:JSON.ini / config ...

  • 骚操作 | 高效办公,Python 自动化教你一键获取日志!

    骚操作 | 高效办公,Python 自动化教你一键获取日志!

  • Python之日志处理(logging模块)

    本节内容 日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logging模块日志流处理流程 使用logging四大组件记录日志 配置logging的几种方式 向日 ...

  • python日志系统-logging

    时间主题12.25(周三)20:00 自动化运维工具-Ansible 在之前测试运维试听课程中,芒果给大家介绍了python日志系统-logging的使用,这里我们来做个小总结.日志相关概念介绍日志是 ...