日誌相關概念與配置資訊

2021-08-21 03:37:46 字數 2344 閱讀 9134

輸出一條日誌時,日誌內容和日誌級別是需要開發人員明確指定的。對於而其它字段資訊,只需要是否顯示在日誌中就可以了。

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...