logger模块的使用

Posted happyfei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了logger模块的使用相关的知识,希望对你有一定的参考价值。

下面是logger模块的配置文件,在写程序需要记录日志可以直接拿过来用,但是要经过相应配置的一些修改。

对于如何使用,在我上一篇随笔<ATM程序规范练习>中的记录日志的内容我没有更新,应读者的需求,现已更新

想知道如何使用的可以看看。

logging模块配置

"""
logging配置
"""

import logging.config

import logging

# 定义三种日志输出格式 开始

standard_format = [%(asctime)s][%(threadName)s:%(thread)d][task_id:%(name)s][%(filename)s:%(lineno)d]                   [%(levelname)s][%(message)s] #其中name为getlogger指定的名字

simple_format = [%(levelname)s][%(asctime)s][%(filename)s:%(lineno)d]%(message)s

id_simple_format = [%(levelname)s][%(asctime)s] %(message)s


#定义日志文件的路径
LOG_PATH=ra3.log

# log配置字典(字典的key不能改)
LOGGING_DIC = {
    version: 1, #定义的版本
    disable_existing_loggers: False,#无用

    #1、定义日志的格式
    formatters: {#字典的key可以随便取
        standard: {#key是固定格式
            format: standard_format#定义的日志格式
        },
        simple: {
            format: simple_format
        },
        id_simple:{
            format:id_simple_format
        },
    },
    filters: {},   #过滤,不用

    #2、定义日志输入的目标:文件或者终端
    handlers: {#控制文件写入
        #打印到终端的日志
        stream: {
            level: DEBUG,
            class: logging.StreamHandler,  # 打印到屏幕
            formatter: simple#绑定格式
        },
        #打印到文件的日志,收集info及以上的日志
        access: {
            level: DEBUG,
            class: logging.handlers.RotatingFileHandler,  # 保存到文件(日志轮转)
            formatter: standard,#绑定日志格式
            filename: LOG_PATH,  # 日志文件
            maxBytes: 1024*1024*5,  # 日志大小 5M#一份日志文件的大小
            backupCount: 5,#最多保存五份日志,写完五份时轮转
            encoding: utf-8,  # 日志文件的编码,再也不用担心中文log乱码了
        },
    },

    loggers: {
        #logging.getLogger(__name__)拿到的logger配置
        egon: {#定义日志的名字
            handlers: [access, stream],  # 这里把上面定义的两个handler都加上,即log数据既写入文件又打印到屏幕
            level: DEBUG,
            propagate: False,  # 向上(更高level的logger)传递
        },
    },
}




logging.config.dictConfig(LOGGING_DIC)  # 导入上面定义的logging配置

l1=logging.getLogger(egon)
l1.debug(测试)

 

以上是关于logger模块的使用的主要内容,如果未能解决你的问题,请参考以下文章

python 日志模块使用

如何使用模块化代码片段中的LeakCanary检测内存泄漏?

python常用模块——logger模块

Python日志模块介绍

logger模块的使用

Python日志模块Logger