码迷,mamicode.com
首页 > 其他好文 > 详细

logger模块的使用

时间:2018-08-12 00:30:56      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:backup   字典   existing   _for   版本   coding   sage   import   str   

下面是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模块的使用

标签:backup   字典   existing   _for   版本   coding   sage   import   str   

原文地址:https://www.cnblogs.com/happyfei/p/9461654.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!