2
我正在查看python logging
模塊來替換自定義代碼,但我無法決定我應該在哪裏調用basicConfig
方法。什麼時候我們應該在Python項目中調用logging.basicConfig?
如果我開發一個名爲mymodule
的模塊,它有子模塊,在mymodule
中只調用一次basicConfig
似乎是個好主意。
但是,如果我(或其他人)希望自己的模塊或程序中使用mymodule
並使用logging
模塊,他們不能打電話basicConfig
自己和被卡住在mymodule
給basicConfig
的選項。
我知道有黑客來解決這個問題。但是,使用basicConfig
的正確方法是什麼?應該在哪裏調用?
看來你是對的。我用這種方法看到的缺點是它需要用戶知道模塊使用日誌記錄才能看到格式化的日誌記錄。這可能需要更多的知識,例如,在模塊中有對象的調試參數。 –
在模塊中寫入是否完全錯誤:'if len(logging.root.handlers)== 0:logging.basicConfig()' –
不管設置庫的日誌記錄, *文檔*您可以使用哪些日誌記錄配置,但使用該庫將其留給應用程序進行設置。看看['sqlalchemy'庫如何記錄這個](http://docs.sqlalchemy.org/en/rel_0_8/core/engines.html#configuring-logging)。無論如何配置日誌記錄並不總是合適的。 –