美文网首页
python logging 同时屏幕输出和保存到文件

python logging 同时屏幕输出和保存到文件

作者: 打出了枫采 | 来源:发表于2020-03-24 20:40 被阅读0次

    日志记录,不同模块使用不同logger分开记录,同时输出到屏幕和文件
    日志记录完后,可以使用del 来主动释放日志占用的资源

    # -*- coding: utf-8 -*-
    import logging
    import time
    
    class AppLogger:
        def __init__(self, moduleName, logfile):
            self._logger = logging.getLogger(moduleName)
            handler = logging.FileHandler(logfile)
            fmt = "%(asctime)-15s %(levelname)s %(filename)s %(lineno)d %(message)s"
            formatter = logging.Formatter(fmt)
            handler.setFormatter(formatter)
            self._logger.addHandler(handler)
            self._logger.setLevel(logging.INFO)
    
            console = logging.StreamHandler()
            console.setLevel(logging.INFO)
            console.setFormatter(formatter)
            self._logger.addHandler(console)
            
            self.warnning = self._logger.warnning
            self.error = self._logger.error
            self.info = self._logger.info
            self.debug = self._logger.debug
    
    if __name__ == "__main__":
        moduleA_logfile = "moduleA-" + time.strftime("%Y%m%d%H%M%S") + '.log'
        moduleB_logfile = "moduleB-" + time.strftime("%Y%m%d%H%M%S") + '.log'
    
        moduleALogger = AppLogger("moduleA", moduleA_logfile)
        moduleBLogger = AppLogger("moduleB", moduleB_logfile)
        moduleALogger.info(" start xxxx")
        moduleBLogger.error("test error")
        ...
        ...
        del moduleALogger
        del moduleBLogger
    
    

    相关文章

      网友评论

          本文标题:python logging 同时屏幕输出和保存到文件

          本文链接:https://www.haomeiwen.com/subject/gdvayhtx.html