9
我想在我的請求處理程序的日誌消息中默認記錄模塊和類名。如何更改Python應用程序引擎中日誌消息的默認格式?
通常的做法似乎是通過調用logging.basicConfig
來設置自定義格式字符串,但這隻能調用一次,並且在我的代碼運行時已經調用過。
另一種方法是創建一個新的日誌Handler
,它可以傳遞一個新的日誌Formatter
,但這看起來不正確,因爲我想使用App Engine已安裝的現有日誌處理程序。
什麼是正確的方式有額外的信息添加到所有日誌消息在Python App Engine中,但否則使用現有的日誌格式和接收器?
我注意到,那'root.handlers [0]'不工作,如果'basicConfig()'是不是之前調用。這是爲什麼? – 2015-12-01 11:51:37
'logging.basicConfig'是一個設置根處理程序的便捷函數。如果你沒有定義一個處理程序,那麼'root.handlers'是一個空列表。因此試圖訪問空列表的第一個元素,例如'root.handlers [0]'引發了一個'IndexError'。無論何時使用'logging'模塊,您必須調用'logging.basicConfig'或從文件中讀取配置文件(例如'logging.config.fileConfig')或[自己設置處理程序(http:// stackoverflow.com/a/4139462/190597)。 – unutbu 2015-12-01 11:55:42