博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
日志打印longging模块(控制台和文件同时输出)
阅读量:5172 次
发布时间:2019-06-13

本文共 2059 字,大约阅读时间需要 6 分钟。

在把日志写入文件的同时在控制台输出

示例代码如下: 

#coding=utf-8import loggingimport timeimport osdir = os.path.dirname(os.path.abspath('.'))log_path = dir + '\\log'class Log:    def __init__(self):        self.logname = os.path.join(log_path, '{0}.log'.format(time.strftime('%Y-%m-%d')))    def __printconsole(self, level, message):        # 创建一个logger        logger = logging.getLogger()        logger.setLevel(logging.DEBUG)        # 创建一个handler,用于写入日志文件        fh = logging.FileHandler(self.logname,'a',encoding='utf-8')        fh.setLevel(logging.DEBUG)        # 再创建一个handler,用于输出到控制台        ch = logging.StreamHandler()        ch.setLevel(logging.DEBUG)        # 定义handler的输出格式        formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')        fh.setFormatter(formatter)        ch.setFormatter(formatter)        # 给logger添加handler        logger.addHandler(fh)        logger.addHandler(ch)        # 记录一条日志        if level == 'info':            logger.info(message)        elif level == 'debug':            logger.debug(message)        elif level == 'warning':            logger.warning(message)        elif level == 'error':            logger.error(message)        logger.removeHandler(ch)        logger.removeHandler(fh)        # 关闭打开的文件        fh.close()    def debug(self,message):        self.__printconsole('debug', message)    def info(self,message):        self.__printconsole('info', message)    def warning(self,message):        self.__printconsole('warning', message)    def error(self,message):        self.__printconsole('error', message)if __name__ == '__main__':    log = Log()    log.info('info msg1000013333')    log.debug('debug msg')    log.warning('warning msg')    log.error('error msg')

  输出结果如下:

> "D:\Python27\python.exe"  "D:\work\code\test\test\wirteLog.py" 2017-05-09 15:09:32,763 - root - INFO - info msg10000133332017-05-09 15:09:32,769 - root - DEBUG - debug msg2017-05-09 15:09:32,776 - root - WARNING - warning msg2017-05-09 15:09:32,782 - root - ERROR - error msg

 

转载于:https://www.cnblogs.com/saryli/p/6830674.html

你可能感兴趣的文章
暖暖的感动
查看>>
Java中的日期和时间
查看>>
Django基于admin的stark组件创建(一)
查看>>
C. Tanya and Toys_模拟
查看>>
springboot jar包运行中获取资源文件
查看>>
基于FPGA实现的高速串行交换模块实现方法研究
查看>>
Java Scala获取所有注解的类信息
查看>>
delphi ,安装插件
查看>>
case when then的用法-leetcode交换工资
查看>>
11.28.cookie
查看>>
BeanShell简介
查看>>
python字符串操作
查看>>
不同程序语言的注释和变量要求
查看>>
语言基础(9):static, extern 和 inline
查看>>
ES5_03_Object扩展
查看>>
bzoj 2600: [Ioi2011]ricehub
查看>>
创建数据库,表
查看>>
工厂模式
查看>>
计算机网络基础知识
查看>>
C#里如何遍历枚举所有的项
查看>>