Python logger模块应用示例
来源:互联网 发布:福禄克网络测试 编辑:程序博客网 时间:2024/06/05 05:00
同时输出到文件和终端,并设置不同的输出级别
#! /usr/bin/env python# coding: utf-8import osimport loggingclass MyLogger(logging.Logger): def __init__(self, filename='log/test.log'): # super(MyLogger, self).__init__(filename) logging.Logger.__init__(self, filename) # 设置日志格式 fmtHandler = logging.Formatter('%(asctime)s [%(filename)s:%(lineno)s][%(levelname)s] %(message)s') # 终端log输出流设置 try: consoleHd = logging.StreamHandler() consoleHd.setLevel(logging.ERROR) consoleHd.setFormatter(fmtHandler) self.addHandler(consoleHd) except Exception as reason: self.error("%s" % reason) # 设置log文件 try: os.makedirs(os.path.dirname(filename)) except Exception as reason: pass try: fileHd = logging.FileHandler(filename) fileHd.setLevel(logging.INFO) fileHd.setFormatter(fmtHandler) self.addHandler(fileHd) except Exception as reason: self.error("%s" % reason) return # 设置回滚日志,每个日志最大10M,最多备份5个日志 try: rtfHandler = logging.BaseRotatingHandler( filename, maxBytes=10*1024*1024, backupCount=5) except Exception as reason: self.error("%s" % reason) else: self.addHandler(rtfHandler)def main(): logfile1 = 'log/test1.log' logger1 = MyLogger(logfile1) logger1.debug("debug msg") logger1.info("info msg") logger1.warning("warning msg") logger1.error("error msg") logger1.critical("critical msg") logfile2 = 'log/test2.log' logger1 = MyLogger(logfile2) logger1.debug("debug msg") logger1.info("info msg") logger1.warning("warning msg") logger1.error("error msg") logger1.critical("critical msg")if __name__ == '__main__': main()
本例封装了类,在类中进行了统一的配置
终端输出
2017-02-11 10:32:01,532 [mylogger.py:52][ERROR] error msg2017-02-11 10:32:01,532 [mylogger.py:53][CRITICAL] critical msg2017-02-11 10:32:01,533 [mylogger.py:60][ERROR] error msg2017-02-11 10:32:01,533 [mylogger.py:61][CRITICAL] critical msg
log1文件中记录
2017-02-11 10:32:01,532 [mylogger.py:50][INFO] info msg2017-02-11 10:32:01,532 [mylogger.py:51][WARNING] warning msg2017-02-11 10:32:01,532 [mylogger.py:52][ERROR] error msg2017-02-11 10:32:01,532 [mylogger.py:53][CRITICAL] critical msg
1 0
- Python logger模块应用示例
- python中的logger模块讲解
- Python Logging模块-Logger,Handler,Formatter
- python中的time,datetime,logger模块
- python中logger日志模块的使用
- python模块示例
- Python基于logger模块的日志输出系统
- python logging 模块,logger.debug(),logger.info()等写入文件时的核心源码
- python logger
- python json模块使用示例
- Python os模块 使用示例
- Python datetime模块详解、示例
- python os模块示例讲解
- python difflib模块讲解示例
- python模块 - re模块使用示例
- Python之模块应用
- logger日志模块
- python 装饰器应用示例
- 动规-区间DP模板
- PAT A1003 Emergency(25)
- 阿里面试回来,想和Java程序员谈一谈
- 异常解决—org.hibernate.QueryException: could not resolve property: “xxx”
- 动规-树形DP
- Python logger模块应用示例
- 动规-树形DP模板
- 每天一个linux命令:find命令之xargs
- Mac和Linux系统的:Arp欺骗源码
- 动规-概率DP
- PAT A1002 A+B for Polynomials(25)
- jQuery笔记
- 用ServerSocket 实现服务端与客户端之间信息传递
- [MIT 6.00.1X]学习地址