国产探花免费观看_亚洲丰满少妇自慰呻吟_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: 日志輸出到文件

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 漠河县| 淅川县| 泊头市| 凤山县| 台东县| 茂名市| 满洲里市| 筠连县| 遂昌县| 出国| 呈贡县| 密云县| 民乐县| 和平区| 边坝县| 沭阳县| 梅河口市| 汨罗市| 登封市| 明星| 江华| 霍林郭勒市| 定陶县| 商南县| 白玉县| 安丘市| 平乐县| 乌什县| 安溪县| 霍山县| 洛阳市| 屏南县| 和林格尔县| 农安县| 和顺县| 陆良县| 河北省| 凤山市| 巴楚县| 昌都县| 光山县|