Python: logging日志模块简单示例
2019獨角獸企業重金招聘Python工程師標準>>>
?????????Python的logging模塊提供了通用的日志系統,可以方便第三方模塊或者是應用使用。這個模塊提供不同的日志級別,并可以采用不同的方式記錄日志,比如文件,HTTP GET/POST,SMTP,Socket等,甚至可以自己實現具體的日志記錄方式。
? ? ? ? logging模塊與log4j的機制是一樣的,只是具體的實現細節不同。模塊提供logger,handler,filter,formatter。
? ? ? ? logger:提供日志接口,供應用代碼使用。logger最長用的操作有兩類:配置和發送日志消息。可以通過logging.getLogger(name)獲取logger對象,如果不指定name則返回root對象,多次使用相同的name調用getLogger方法返回同一個logger對象。
? ? ? ? handler:將日志記錄(log record)發送到合適的目的地(destination),比如文件,socket等。一個logger對象可以通過addHandler方法添加0到多個handler,每個handler又可以定義不同日志級別,以實現日志分級過濾顯示。
? ? ? ? filter:提供一種優雅的方式決定一個日志記錄是否發送到handler。
? ? ? ? formatter:指定日志記錄輸出的具體格式。formatter的構造方法需要兩個參數:消息的格式字符串和日期字符串,這兩個參數都是可選的。
? ? ? ? 與log4j類似,logger,handler和日志消息的調用可以有具體的日志級別(Level),只有在日志消息的級別大于logger和handler的級別。
????????一個簡單logging.config模塊導入引用,從終端輸出消息。 可以以此為基礎,輔助代碼調試
#!/usr/bin/env python # -*- coding: utf-8 -*- ''' Created on Dec 19, 2012@author: honghe ''' import logging import logging.configlogging.config.fileConfig('logging.ini') logger = logging.getLogger('simpleLogger') msg = 'hello' logger.debug('msg: %s', msg) logging引用的配置文件: logging.ini[loggers] keys: root, simpleLogger[handlers] keys: consoleHandler[formatters] keys: simpleFormater[logger_root] level: DEBUG handlers: consoleHandler[logger_simpleLogger] level: DEBUG handlers: consoleHandler qualname: simpleLogger propagate: 0[handler_consoleHandler] class: StreamHandler formatter: simpleFormater args: (sys.stdout,)[formatter_simpleFormater] format: %(levelname)s %(message)s
轉載于:https://my.oschina.net/leopardsaga/blog/97004
總結
以上是生活随笔為你收集整理的Python: logging日志模块简单示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 51单片机实现4位数以内的加减法
- 下一篇: 读jQuery之二十(Deferred对