簡體   English   中英

Python套接字處理程序日志記錄不適用於某些模塊

[英]Python sockethandler logging not working for some modules

我有一個奇怪的問題。 我正在使用logging.config設置我的記錄器以使用套接字處理程序。 一切正常,除了2/10 +模塊似乎未記錄任何內容。 好的,我的意思是我會在日志服務器上看到除兩者之外的所有內容的輸出。 太奇怪了,它只對某些人有效。 我正在使用以下行初始化每個模塊的記錄器:

import logging
import logging.config

logging.config.fileConfig(config.main_log_conf)
logger = logging.getLogger("CAKE")

我以為問題可能是記錄器名稱沖突,因此上面的CAKE無效,但是那沒用。

以下是我正在使用的conf文件。

[loggers]
keys=root

[handlers]
keys=socketHandler

[formatters]
keys=simpleFormatter

[logger_root]
handlers=socketHandler
level=DEBUG

[handler_socketHandler]
class=handlers.SocketHandler
level=DEBUG
formatter=simpleFormatter
args=('localhost', handlers.DEFAULT_TCP_LOGGING_PORT)

[formatter_simpleFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=

不要從每個模塊調用fileConfig() 通常應該只有一個調用才能在程序(進程)中設置日志記錄配置,這是從if __name__ == '__main__'子句調用的。 還要注意,通常應該將disable_existing_loggers=False傳遞給fileConfig僅出於向后兼容的原因,默認值為True 有關更多信息,請參見此處

暫無
暫無

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

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