Python学习23 :Logging封装

logging封装

#coding:utf-8
import logging

def get_logger(name=None,
			   file=None,
               logger_level="DEBUG",
               stream_level="DEBUG",
               file_level = "INFO",
               fmt='%(asctime)s - [%(filename)s -->line:%(lineno)d] - %(levelname)s:%(message)s',
               ):
    """获得收集器"""
    logger = logging.getLogger(name)
    
    """设置收集器的级别"""
    logger.setLevel(logger_level)
    
    """输出管理器"""
    stream_handler = logging.StreamHandler()
    stream_handler.setLevel(stream_level)
    logger.addHandler(stream_handler)

    """格式"""
    fmt = logging.Formatter(fmt)
    stream_handler.setFormatter(fmt)

    """判断是否有file"""
    if file:
        file_handler = logging.FileHandler(file,encoding='utf-8')
        file_handler.setLevel(file_level)
        logger.addHandler(file_handler)
        file_handler = logging.Formatter(fmt)

    return logger

if __name__ == '__main__':
    logger = get_logger()
    #logger = get_logger('log.txt')
    logger.info("info信息")
    logger.error("error信息")
    logger.warning("warning信息")

类的封装实例

import logging

class get_logger:
	def __init__(self,
				 name=None,
				 file=None,
               	 logger_level="DEBUG",
                 stream_level="DEBUG",
                 file_level = "INFO",
                 fmt='%(asctime)s - [%(filename)s -->line:%(lineno)d] - %(levelname)s:%(message)s'):

	 """获得收集器"""
    logger = logging.getLogger(name)
    
    """设置收集器的级别"""
    logger.setLevel(logger_level)
    
    """输出管理器"""
    stream_handler = logging.StreamHandler()
    stream_handler.setLevel(stream_level)
    logger.addHandler(stream_handler)

    """格式"""
    fmt = logging.Formatter(fmt)
    stream_handler.setFormatter(fmt)

    """判断是否有file"""
    if file:
        file_handler = logging.FileHandler(file,encoding='utf-8')
        file_handler.setLevel(file_level)
        logger.addHandler(file_handler)
        file_handler = logging.Formatter(fmt)

    self.logger = logger

if __name__ == '__main__':
    log= LoggerHandler()
	log.logger.info("hello")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值