首页 > 编程语言 > 详细

Python:写入日志文件

时间:2020-10-12 23:48:02      阅读:36      评论:0      收藏:0      [点我收藏+]

这里写一个类直接调用,在需要的时候就可以直接使用:

import logging
from logging import handlers

class Logger(object):
    level_relations = {
        debug:logging.DEBUG,
        info:logging.INFO,
        warning:logging.WARNING,
        error:logging.ERROR,
        crit:logging.CRITICAL
    }     #日志关系映射

    def __init__(self,filename,level=info,backCount=10,fmt=%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s):
        self.logger = logging.getLogger(filename)
        format_str = logging.Formatter(fmt)                  #设置日志格式
        self.logger.setLevel(self.level_relations.get(level))#设置日志级别
        
        sh = logging.StreamHandler()  #往屏幕上输出
        sh.setFormatter(format_str)   #设置屏幕上显示的格式
        self.logger.addHandler(sh)    #把对象加到logger里
        
        fh = handlers.RotatingFileHandler(filename=filename,maxBytes=10485760,backupCount=backCount)   # 按照文件大小分割日志文件
        fh.setLevel(self.level_relations.get(level))
        fh.setFormatter(format_str)   #设置文件里写入的格式
        self.logger.addHandler(fh)
        
if __name__ == __main__:
    log = Logger(my_test.log,level=debug)
    log.logger.debug(------0. it is a debug ------)
    log.logger.info(------ 1. it is a test ------)
    log.logger.warning(------ 2. it is a warning ------)
    log.logger.error(------ 3. it is an error ------)
    log.logger.critical(------ 4. serious problem ------)

屏幕显示:

技术分享图片

同样可以在文件夹下找到 my_test.log文件。

日志级别: debug --> info --> warning --> error --> critical。

日志级别使用备注
DEBUG 详细信息,调试使用
INFO 正常信息
WARNING 警告信息
ERROR 错误信息
CRITICAL 问题很严重

注:

handlers.TimedRotatingFileHandler  ---> 可以按时间分割日志文件 

#

更多解释和说明可参考某大神博客:https://www.cnblogs.com/nancyzhu/p/8551506.html

Python:写入日志文件

原文:https://www.cnblogs.com/qi-yuan-008/p/13806135.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!