python logging模块 自定义输出
来源:互联网 发布:maxwell仿真软件下载 编辑:程序博客网 时间:2024/06/04 00:29
#!/usr/bin/env python# coding:utf-8"""FuncName: logger.pyDesc: output log to console and fileDate: 2016-06-21 10:30Home: http://blog.csdn.net/z_johnnyAuthor: johnny"""from logging.handlers import RotatingFileHandlerimport loggingimport threadingimport ConfigParserclass MyLog: def __init__(self, log_config): """ init config and get value """ self.logger = logging.getLogger('OutputLog') config = ConfigParser.ConfigParser() config.read(log_config) mythread=threading.Lock() mythread.acquire() # thread lock self.log_file_path = config.get('LOGGING', 'log_file_path') self.maxBytes = config.get('LOGGING', 'maxBytes') self.backupCount = int(config.get('LOGGING', 'backupCount')) self.outputConsole_level = int(config.get('LOGGING', 'outputConsole_level')) self.outputFile_level = int(config.get('LOGGING', 'outputFile_level')) self.outputConsole = int(config.get('LOGGING', 'outputConsole')) self.outputFile = int(config.get('LOGGING', 'outputFile')) self.formatter = logging.Formatter('%(asctime)s - %(filename)s : %(levelname)s %(message)s') mythread.release() # thread lock relax def outputLog(self): """ output log to console and file """ if self.outputConsole == 1 : # if true ,it should output log in console console_handler = logging.StreamHandler() console_handler.setFormatter(self.formatter) self.logger.setLevel(self.outputConsole_level) self.logger.addHandler(console_handler) else: pass if self.outputFile == 1: file_handler = RotatingFileHandler(self.log_file_path, maxBytes=self.maxBytes, backupCount=self.backupCount) # define RotatingFileHandler, file output path, one file max byte, max backup number file_handler.setFormatter(self.formatter) self.logger.setLevel(self.outputFile_level) self.logger.addHandler(file_handler) else: pass return self.loggermylog = MyLog('logConfig.ini')logger = mylog.outputLog()
配置文件 logConfig.ini
;说明 : 1兆字节(mb)=1024千字节(kb) 1千字节(kb)=1024字节(b) ;说明 : 日志级别 : CRITICAL = 50 ERROR = 40 WARNING = 30 INFO = 20 DEBUG = 10 NOTSET = 0;maxBytes : 每个日志文件最大为多少字节,到达最大数后自动分割 例如:10M = 10*1024*1024 ;backupCount : 最多备份日志文件的数量;outputConsole_level : 输出到控制台的日志信息等级,如为10,则只输出DEBUG及以上的信息;outputFile_level : 输出到文件的日志信息等级;log_file_path : 输出文件目录,支持绝对路径与相对路径 如 D:\Python\log.log 或 ./result/logging.log;outputConsole = 1 开启控制台日志输出,0则关闭,outputFile = 1 开启文件日志输出, 0则关闭[LOGGING]maxBytes = 10*1024*1024backupCount = 10outputConsole_level = 10outputFile_level = 20log_file_path = ./logging.logoutputConsole = 1outputFile = 1
logging模块了解:
logging介绍
python logging 日志输出 学习笔记
python logging 替代print 输出内容到控制台和重定向到文件
0 0
- python logging模块 自定义输出
- python logging模块 自定义输出
- Python模块:日志输出—logging模块
- Python日志输出——logging模块
- Python日志输出——logging模块
- Python日志输出——logging模块
- Python日志输出——logging模块
- Python日志输出——logging模块
- Python日志输出——logging模块
- Python日志输出——logging模块
- Python日志输出——logging模块
- Python日志输出——logging模块
- Python日志输出——logging模块
- Python日志输出——logging模块
- Python日志输出——logging模块
- Python日志输出——logging模块
- Python日志输出——logging模块
- python-2-重定向输出logging模块
- 最大公约数和最小公倍数
- Two Numbers
- 关于灰帽python一书中提到的debugger
- Android判断APP是否第一次启动
- 双边滤波器
- python logging模块 自定义输出
- 多个tomcat之间的session复制
- 在leangoo 里怎么设置工作量估算,添加附件,设置截止时间?
- ArcGIS RunTime Sdk +WPF 基础地图显示
- 8位有符号的取值范围是-128~+127
- 脚本执行SQL语句的小方法。
- UI_UIStackView
- sizeof(float)是()类型表达式??
- hdu 1272 小希的迷宫