2013-10-30 145 views
0

我想擴展python(2.7)的日誌記錄模塊(特別是記錄器類)。擴展python日誌記錄模塊

目前我有:

class MyLogger(logging.Logger): 

    def __init__(self, name): 
     logging.Logger.__init__(self, name) 
  1. 這是初始化MyLogger正確的方式?

  2. 我可以使用Logger.manager(logging.Logger.manager)嗎? (我只知道logging.getLogger(名稱) - 這是不可用的,因爲我擴展了記錄器本身,我知道靜態方法在Python中不流行作爲例如他們在Java中)?

  3. 我在哪裏可以瞭解有關擴展類的更多信息? python.org中的文檔非常差,並沒有幫助我。

我的目標是能夠開始根據主叫模塊的名稱標準配置和處理程序記錄器,以及整個系統記錄器設置爲具有短,可讀,調用同一水平。

回答

0

似乎我的方法是完全錯誤的。

我喜歡在python.org規定的way

使用配置文件的清理代碼,並可以輕鬆地更改傳播。

配置文件加載像這樣:

# view example on python.org site (logging for multiple modules) 
logging.config.fileConfig('logging.conf') 

至於批次的能力,因爲我們保持logging.Logger.manager.loggerDict和logging.getLogger,批處理操作可以使用簡單的循環來創造變化(如將記錄器設置爲單一級別)。

相關問題