2015-08-27 44 views
0

我想設置一個日誌記錄器從我的腳本記錄的東西。有時我會將這個日誌文件移動到另一個命名文件進行歸檔,並且我希望日誌文件在缺失時重新創建。據我所知,這是WatchedFileHandler所做的。但是,在過去,我只使用basicConfig安裝程序設置記錄器,並且從不明確添加處理程序。我試圖用下面的代碼片段做到這一點使用與WatchedFileHandler python日誌記錄

logging.basicConfig(format='%(levelname)s:%(asctime)s:%(message)s',level=logging.DEBUG,filename='logfile',filemode='w',datefmt='%m/%d/%Y %I:%M:%S %p') 
logger = logging.getLogger() 
log_handler = logging.handlers.WatchedFileHandler('logfile') 
logger.addHandler(log_handler) 

但這並沒有真正的工作。日誌文件,在我將它移動到磁盤上的另一個名稱後確實重新創建,但我的日誌記錄格式不存在於日誌文件中。我也在調用getLogger()之後嘗試運行basicConfig,但這也沒有幫助。

我在這裏做錯了什麼?

回答

1

您需要將Formatter實例添加到具有所需格式的處理程序(basicConfig()爲您處理添加到根記錄程序的處理程序)。

log_handler.setFormatter(logging.Formatter('%(levelname)s:%(asctime)s:%(message)s')) 
+0

謝謝。這工作! – gammapoint