ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python的log模块

2021-07-21 09:34:29  阅读:193  来源: 互联网

标签:输出 logging log python 处理器 模块 logger my 日志


'''

日志模块,可用类/实例调用
例:my_logger = MyLogger.create_logger
    my_logger.info("输出级别为info的日志信息)
'''

import logging
from logging.handlers import TimedRotatingFileHandler
import time


class MyLogger():
    @staticmethod  # 静态方法,使用时可用类/实例调用,只在名义上归类管理
    def create_logger():

        # 获取日志收集器,并设置名称为my_logger(若不设置名字,则为默认日志收集器root)
        my_logger= logging.getLogger("my_logger")
        my_logger.setLevel("DEBUG")  # 收集等级默认为warning

        # 创建一个输出到控制台的处理器
        control_hander = logging.StreamHandler()
        control_hander.setLevel("ERROR")  # 设置输出到控制台的处理器的输出等级为ERROR
        my_logger.addHandler(control_hander)  # 添加处理器并绑定在日志收集器上   ,addHandler:增加处理器, removeHandler:删除处理器

        # 创建一个处理器,使用时间滚动的文件处理器
        filename = '../Log/'+'mylog'+time.strftime("%Y%m%d")+".txt"
        file_handler = TimedRotatingFileHandler(filename=filename, when='D',interval=1, encoding='utf-8')
        file_handler.setLevel("DEBUG")  # 设置输出到文件的处理器的输出等级为DEBUG
        my_logger.addHandler(file_handler)

        # 设置输出到文件与控制台的格式
        formatter = logging.Formatter('%(asctime)s  [%(filename)s-->line:%(lineno)d],%(levelname)s: %(message)s')
        file_handler.setFormatter(formatter)
        control_hander.setFormatter(formatter)
        return my_logger


# a = 100
# # assert a==0
# #my= MyLogger() #可创建实例调用
# my_logger = MyLogger.create_logger() # 可直接采用类调用
# my_logger.debug(a)
# my_logger.info("info")
# my_logger.warning("warn")
# my_logger.error("error")
# my_logger.critical("critical")

相关log模块学习链接: https://www.cnblogs.com/miki-peng/p/13416944.html

标签:输出,logging,log,python,处理器,模块,logger,my,日志
来源: https://www.cnblogs.com/byy521/p/15036290.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有