Linux下如何設置Node.js日志輪轉

Linux下如何設置Node.js日志輪轉

linux環(huán)境中,可以通過logrotate工具來實現(xiàn)Node.JS應用日志的滾動更新。以下是具體的操作流程:

  1. 首先確認系統(tǒng)中已安裝logrotate工具。若未安裝,可執(zhí)行如下命令完成安裝:

    對于debian操作系統(tǒng)(如ubuntu):

    sudo apt-get install logrotate

    對于RPM系操作系統(tǒng)(如centos、Fedora):

    sudo yum install logrotate
  2. 在Node.js程序里,把日志數(shù)據(jù)寫入到文件中。例如,利用fs模塊生成一個日志文件:

    const fs = require('fs'); const logFile = fs.createWriteStream('app.log', { flags: 'a' });  // 記錄日志信息 logFile.write('This is a log messagen');
  3. 建立一個logrotate的配置文件。進入/etc/logrotate.d目錄新建一個名為nodejs-app的配置文件:

    sudo nano /etc/logrotate.d/nodejs-app
  4. 在此配置文件內加入如下代碼:

    /path/to/your/nodejs/app.log {     daily     rotate 7     compress     missingok     notifempty     create 640 root adm }

    上述配置的具體含義為:

    • 每日對日志文件進行一次滾動(daily)
    • 最多保留最近七份日志副本(rotate 7)
    • 對舊日志文件進行壓縮處理(compress)
    • 若日志文件缺失,則不發(fā)出警告(missingok)
    • 若當前日志為空,則不執(zhí)行任何操作(notifempty)
    • 新建的日志文件權限設為640,所有者為root,所屬組為adm(create 640 root adm)

    根據(jù)實際需求調整日志文件的實際路徑(/path/to/your/nodejs/app.log)。

  5. 完成編輯后保存退出。

  6. 檢驗logrotate配置是否無誤。可通過運行以下命令強制觸發(fā)日志滾動測試:

    sudo logrotate -f /etc/logrotate.d/nodejs-app

    觀察日志文件是否按設定的方式完成了滾動與壓縮。

如此一來,Node.js應用的日志文件便能依據(jù)配置實現(xiàn)自動滾動更新了。

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享