国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

對python中的logger模塊全面講解

2020-02-22 23:55:07
字體:
來源:轉載
供稿:網友

logging模塊介紹

Python的logging模塊提供了通用的日志系統,熟練使用logging模塊可以方便開發者開發第三方模塊或者是自己的Python應用。同樣這個模塊提供不同的日志級別,并可以采用不同的方式記錄日志,比如文件,HTTP、GET/POST,SMTP,Socket等,甚至可以自己實現具體的日志記錄方式。下文我將主要介紹如何使用文件方式記錄log。

logging模塊包括logger,handler,filter,formatter這四個基本概念。

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的級別。

import logginglogging.basicConfig(level=logging.DEBUG,    format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',    datefmt='%a, %d %b %Y %H:%M:%S',    filename='myapp.log',    filemode='w')##################################################################################################定義一個StreamHandler,將INFO級別或更高的日志信息打印到標準錯誤,并將其添加到當前的日志處理對象#console = logging.StreamHandler()console.setLevel(logging.INFO)formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')console.setFormatter(formatter)logging.getLogger('').addHandler(console)#################################################################################################logging.debug('This is debug message')logging.info('This is info message')logging.warning('This is warning message') 屏幕上打印:root  : INFO  This is info messageroot  : WARNING This is warning message./myapp.log文件中內容為:Sun, 24 May 2009 21:48:54 demo2.py[line:11] DEBUG This is debug messageSun, 24 May 2009 21:48:54 demo2.py[line:12] INFO This is info messageSun, 24 May 2009 21:48:54 demo2.py[line:13] WARNING This is warning message

logging.StreamHandler: 日志輸出到流,可以是sys.stderr、sys.stdout或者文件

logging.FileHandler: 日志輸出到文件

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临城县| 德惠市| 蒙自县| 商丘市| 木兰县| 泰和县| 阿克| 沈丘县| 渭源县| 临沂市| 大竹县| 镇安县| 张家口市| 安远县| 兴山县| 翁源县| 宜良县| 汉源县| 鹿邑县| 新源县| 谢通门县| 古蔺县| 日照市| 墨玉县| 德州市| 叶城县| 桓台县| 通道| 广德县| 陇南市| 拉孜县| 穆棱市| 宜州市| 石泉县| 巫溪县| 通山县| 津市市| 彭泽县| 连南| 泰宁县| 越西县|