2016-01-19 40 views
0

在我的開發系統,它具有完全相同的RotatingFileHandler設置爲我們的生產系統,主要日誌是不斷更新的一個:我的Django的/ Python的記錄器的更新滾動的日誌,而不是主要的日誌

mylog.log <==== This one is updated. 
mylog.1.log <==== Rotated file, not updated. 
mylog.2.log <==== Rotated file, not updated. 

這是我期望的日誌旋轉工作。

但是,在我們的生產環境中,我最近注意到它是正在更新的「mylog.2.log」。我無法在開發中解釋或重現此行爲。所有日誌文件的文件權限與所有權和組的權限完全相同。

我在這裏錯過了什麼嗎?

回答

0

你的產品運行多個進程,而你的開發環境是單進程,對不對?在這種情況下,你需要找到另一種方式。將例如日誌發送到syslog,並讓syslog旋轉日誌。或讓每個進程登錄到單獨的文件。

+0

現在,我們的生產系統運行一個過程。我們目前的峯值是2-3個併發用戶。我很快將我們轉移到負載平衡的每個5個工作站的拓撲結構,但現在只有一個進程日誌記錄。 – Rjak

+0

還有別的東西可以旋轉日誌嗎?如果某個文件在進程仍然打開的情況下重命名文件,則此進程會繼續追加到該文件,直到它真的關閉。 – Bruce