日誌收集
日誌級別:
debug:除錯
info:
warning
error:
critical:嚴重錯誤
日誌格式化:提高日誌的可讀性。比如:時間+模組+行數+日誌具體資訊的格式
logging模組
logging的構成:
logging包括:logger handler filter formatter
logger:記錄器,用於日誌採集
handler:處理器,將日誌傳送給合適的路徑
filter: 過濾器,提供更好的粒度控制,它可以決定輸出哪些日誌記錄
formatter:格式化器,指明了最終輸出中日誌的格式
logger是乙個樹形層級結構,在使用介面debug、info 、warn、error、critical;使用之前必須建立logger例項,即建立乙個記錄器,如果沒有顯式的進行建立,則預設建立乙個root logger,並應用預設的日誌基本(warn) handler和formatter
basiccofig(「」)-帶以下引數
filename:指定檔名稱
filemode:指定開啟檔案模式(w:以寫方式開啟 w:檔案若存在,首先要清空,然後建立 a:以追加模式開啟(從eof開始,必要時建立新檔案)
r+:以讀寫模式開啟 w+:以讀寫模式開啟 a+:以讀寫模式開啟(參見a)
format 為處理程式使用指定的格式字串
datefmt 使用指定的日期/時間格式。樣式如果指定了格式字串,則使用它來指定格式字串型別
level 將根記錄器級別設定為指定級別
handler處理器
1.streamhandler
將日誌記錄輸出傳送到諸如sys.stdout,sys.stderr或任何類似檔案流的物件
2.filehandler
將日誌記錄輸出傳送到磁碟檔案,它繼承了stream handler的輸出功能
3.nullhandler
不做任何格式化或輸出
filter過濾器
handlers和loggers可以使用filter來完成比級別更複雜的過濾
formatter
使用formatter物件設定日誌資訊最後規則、結構和內容,預設格式為:%y-%m-%d %h%m%s
格式 描述
%(levelno)s 列印日誌級別的數值
%(levelname)s 列印日誌級別名稱
%(pathname)s 列印當前執行程式的路徑
%(filename)s 列印當前執行程式名稱
%(funcname)s 列印日誌的當前函式
%(lineno)d 列印日誌的當前行號
%(asctime)s 列印日誌的時間
%(thread)d 列印執行緒id
%(threadname)s 列印執行緒名稱
%(process)d 列印程序id
%(message)s 列印日誌資訊
綜合:例如logging.basicconfig(level=logging.error,filename='runlog.log',filemode="r",format="")
關於log日誌級別的使用經驗
軟體中總免不了要使用諸如 log4net,log4j,tracer 等東東來寫日誌,不管用什麼,這些東東大多是大同小異的,一般都提供了這樣5個日誌級別 debug info warn error fatal 乙個等級比乙個高,但是在具體開發中,關於應該如何選擇適應的等級,卻沒有找到好的文章進行說明。...
關於日誌Log的級別問題
關於日誌log的級別問題 背景 使用spark sql過程中,出現乙個需要設定日誌級別的命令 sc.setloglevel warn 而log4j中的日誌級別可分為7類 1.static level debug debug level指出細粒度資訊事件對除錯應用程式是非常有幫助的。2.static ...
Apache日誌配置引數詳細說明
apache日誌按時間分段記錄 在apache的配置檔案httpd.conf中找到 errorlog logs error log及customlog logs access log common linux系統配置方法 將其改為 errorlog usr local apache bin rota...