2009-10-05 154 views
5

我需要使用Python記錄模塊打印調試信息到一個文件中包含的語句:如何防止用python日誌記錄模塊截斷日誌文件?

logging.debug(something) 

該文件被截斷(我假設 - 通過日誌模塊)以及消息被刪除之前,我可以看到他們 - 這怎麼能被阻止?

這裏是我的日誌記錄配置:

logging.basicConfig(
    level = logging.DEBUG, 
    format = '%(asctime)s %(levelname)s %(message)s', 
    filename = '/tmp/my-log.txt', 
    filemode = 'w' 
) 

謝謝!

回答

11

logging

如果反覆運行腳本,附加日誌消息附加到文件。 要每次創建一個新文件,都可以將一個filemode參數傳遞給basicConfig(),其值爲'w'。不過,您可以自己管理文件大小,但使用RotatingFileHandler會更簡單。

爲了防止覆蓋文件,你不應該設置filemode'w',或set it to 'a'(這是默認設置反正)。

我相信你只是覆蓋文件。

相關問題