在Debian系統下,可以使用logrotate
工具來實現Node.js應用程序日志的輪轉。以下是配置日志輪轉的步驟:
logrotate
。如果沒有安裝,可以使用以下命令安裝:sudo apt-get update
sudo apt-get install logrotate
在Node.js應用程序中,確保日志文件是通過標準輸出(stdout)或標準錯誤(stderr)輸出的。這樣logrotate
才能正確處理日志文件。例如,如果你使用的是console.log
或console.error
,那么日志輪轉將正常工作。
在/etc/logrotate.d
目錄下創建一個新的配置文件,例如nodejs
。你可以使用以下命令創建:
sudo nano /etc/logrotate.d/nodejs
/path/to/your/nodejs/app.log {
daily
rotate 7
compress
missingok
notifempty
create 0640 root adm
}
這里的配置表示:
/path/to/your/nodejs/app.log
:替換為你的Node.js應用程序日志文件的路徑。daily
:每天輪轉日志文件。rotate 7
:保留最近7天的日志文件。compress
:壓縮已輪轉的日志文件。missingok
:如果日志文件不存在,不會產生錯誤。notifempty
:如果日志文件為空,不進行輪轉。create 0640 root adm
:創建新的日志文件,權限為0640,屬主為root,屬組為adm。保存并關閉配置文件。
測試logrotate
配置是否正確??梢允褂靡韵旅钍謩佑|發日志輪轉:
sudo logrotate -f /etc/logrotate.d/nodejs
如果一切正常,你應該會看到日志文件被輪轉和壓縮。
現在,logrotate
將自動按照配置的規則輪轉Node.js應用程序的日志文件。如果你想要調整輪轉策略,只需修改/etc/logrotate.d/nodejs
文件即可。