python的日志输出篇

# -*- coding: utf-8 -*-          #这个是引文中文输出加的
import logging
import os,time,sys
from logging import Logger
from logging.handlers import TimedRotatingFileHandler

class FinalLogger:

  def init_logger(self, logger_name):
        #输出日志的路径sys.path[0]=当前目录路径 D:/
        if logger_name not in Logger.manager.loggerDict:
            logger = logging.getLogger(logger_name)
            logger.setLevel(logging.DEBUG)

            allfilename ='log_' + time.strftime('%Y%m%d', time.localtime()) + '.log'
            errorfilename = 'error_' + time.strftime('%Y%m%d', time.localtime()) + '.log'
            all_log_file = os.path.join(logPath,allfilename)
            error_log_file = os.path.join(logPath,errorfilename)
            datefmt = '%Y-%m-%d %H:%M:%S'
            format_str ='[%(asctime)s]%(levelname)s:  %(message)s - %(filename)s:%(lineno)d' #'[%(asctime)s]: %(name)s %(levelname)s %(lineno)s %(message)s'

            #info日志输出
            all_log_handler = TimedRotatingFileHandler(all_log_file, when = 'midnight', backupCount=7)
            #m_formatter = logging.Formatter('[%(asctime)s - %(name)s]%(levelname)s:  %(message)s - %(filename)s:%(lineno)d ')

            formatter = logging.Formatter(format_str, datefmt)
            all_log_handler.setFormatter(formatter)
            all_log_handler.setLevel(logging.INFO)
            logger.addHandler(all_log_handler)

            #handler error日志输出
            error_log_handler = TimedRotatingFileHandler(error_log_file, when = 'midnight', backupCount=7)

            error_log_handler.setFormatter(formatter)

            error_log_handler.setLevel(logging.ERROR)
            logger.addHandler(error_log_handler)
        logger = logging.getLogger(logger_name)
        return logger
  #调试方法
  #用法类之前就加上
  # logger=FinalLogger()
  #logger=logger.init_logger(os.path.basename(__file__)) 然后直接logger.info(msg)
if __name__=='__main__':
    logPath = sys.path[0].split("\\")[0] + '/' + sys.path[0].split("\\")[1] + '/logs/'
    logger=FinalLogger()
    logger=logger.init_logger(logPath)
    logger.info("lide")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值