簡體   English   中英

python日志:是否可以將模塊名稱添加到格式化程序

[英]python logging: is it possible to add module name to formatter

可以按模塊名稱獲取記錄器。 像這樣:

logging.getLogger(module_name)

我想將module_name添加到每個日志記錄中。 是否可以設置添加module_nameFormatter對象?

您正在尋找%(name)s參數; 將其添加到您的格式化程序模式:

FORMAT = "%(name)s: %(message)s"
logging.basicConfig(format=FORMAT)

或者在創建Formatter()

FORMAT = "%(name)s: %(message)s"
formatter = logging.Formatter(fmt=FORMAT)

請參閱LogRecord屬性參考

屬性名稱name
格式%(name)s
描述 :用於記錄呼叫的記錄器的名稱。

初始化記錄器時(只需要為應用程序執行一次)嘗試此配置

logging.basicConfig(
    filename='var/bpextract.log',
    level=logging.INFO,
    format='%(asctime)s  %(process)-7s %(module)-20s %(message)s',
    datefmt='%m/%d/%Y %H:%M:%S'
    )

...稍后在您的代碼中......

log = logging.getLogger("bpextract")
log.info('###### Starting BPExtract App #####')

logging.basicConfig ,您可以指定格式:

logging.basicConfig(format='%(name)s\t%(message)s')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM