輸出一條日誌時,日誌內容和日誌級別是需要開發人員明確指定的。對於而其它字段資訊,只需要是否顯示在日誌中就可以了。
python 自身提供了乙個用於記錄日誌的標準庫模組:logging。
日誌級別的指定通常都是在應用程式的配置檔案中進行指定的。
# 設定日誌的記錄等級
logging.basicconfig(level=logging.debug) # 除錯debug級
# 建立日誌記錄器,指明日誌儲存的路徑、每個日誌檔案的最大大小、儲存的日誌檔案個數上限
file_log_handler = rotatingfilehandler("logs/log", maxbytes=1024*1024*100, backupcount=10)
# 建立日誌記錄的格式 日誌等級 輸入日誌資訊的檔名 行數 日誌資訊
formatter = logging.formatter('%(levelname)s %(filename)s:%(lineno)d %(message)s')
# 為剛建立的日誌記錄器設定日誌記錄格式
file_log_handler.setformatter(formatter)
logging.getlogger().addhandler(file_log_handler)
最簡單的日誌輸出import logging
logging.debug("this is a debug log.")
logging.info("this is a info log.")
logging.warning("this is a warning log.")
logging.error("this is a error log.")
logging.critical("this is a critical log.")
修改配置改變輸出內容logging.basicconfig(level=logging.warn)
切記:設定configurations
中的 working directory 為當前專案
import logging
class
developmentconfig
(config):
# 預設日誌等級
log_level = logging.debug
class
productionconfig
(config):
"""生產模式下的配置"""
log_level = logging.warn
def
setup_log
(config_name):
"""配置日誌"""
# 設定日誌的記錄等級
logging.basicconfig(level=config_name.log_level) # 除錯debug級
# 建立日誌記錄器,指明日誌儲存的路徑、每個日誌檔案的最大大小、儲存的日誌檔案個數上限
file_log_handler = rotatingfilehandler("logs/log", maxbytes=1024 * 1024 * 100, backupcount=10)
# 建立日誌記錄的格式 日誌等級 輸入日誌資訊的檔名 行數 日誌資訊
formatter = logging.formatter('%(levelname)s %(filename)s:%(lineno)d %(message)s')
# 為剛建立的日誌記錄器設定日誌記錄格式
file_log_handler.setformatter(formatter)
logging.getlogger().addhandler(file_log_handler)
def
(config_name):
# 配置專案日誌
setup_log(config_name)
...
執行專案,當前專案日誌已輸出到logs
的目錄下自動建立的 log 檔案中
logs/log*
在 flask框架 中,其自己對 python 的 logging 進行了封裝,在 flask 應用程式中,可以以如下方式進行輸出 log:
當前應用程式的 logger 會根據應用程式的除錯狀態去調整日誌級別,如下圖:
Spring Cloud 相關配置資訊說明
自我保護機制 eureka server enable self preservation false自我保護機制,預設為開啟 true 一般最好還是建議設定為false,為防止後續微服務的呼叫不會出錯 eureka instance hostname clientname給註冊到eureka se...
如何檢視Linux的相關配置資訊
如何檢視linux的相關配置資訊 不管是做運維還是dba,在進入乙個linux系統的時候肯定是要了解當前系統的配置情況的,那麼如何檢視呢?總不能把伺服器拆了吧!呵 呵,這裡是有一些命令可以取得的。經過資料搜 索和查詢現總結了如下,以備後查 這裡主要從作業系統型別及版本 cpu 記憶體和硬碟進行說明 ...
Django day02 5 配置資訊相關介紹
settings.py settings.py裡面的base dir就是專案工程的路徑os.path.abspath file 是當前路徑,os.path.dirname 是上一層路徑,一次類推最後乙個os.path.dirname是專案的工程路徑 debug true 在測試階段可以設定為true...