pm2日誌管理pm2 logrotate介紹

2022-01-10 12:18:00 字數 1655 閱讀 9312

先來看兩個問題

問:pm2-logrotate是什麼?

答:pm2-logrotate可以理解為是乙個

pm2的外掛程式,它擴充了

pm2本身沒有功能:日誌管理,所以它的執行需要依靠

pm2,想用它必須先安裝

pm2才可以。

問:為什麼有pm2-logrotate?

答:因為pm2本身沒有日誌分割功能,日誌只能存在乙個檔案中,時間久了日誌檔案非常大,檢視起來很麻煩,並且一些日誌過一段時間後可能就沒用了,依然留著對空間也是浪費,有了該外掛程式,可以將日誌檔案根據我們的設定進行分割,比如按天進行分割,把每天的日誌檔案分別儲存,這樣檢視起來是不是比較方便?並且還可以設定日誌檔案的最大總數,比如我們設定日誌檔案最多

100個,那麼當日誌檔案超過

100個後會自動將最早的日誌檔案刪除掉,我們也不用再花時間去整理日誌檔案了,是不是很省心?

安裝

安裝:pm2 install pm2-logrotate(前提是已安裝過pm2)

安裝特定版本:pm2 install [email protected]

引數介紹

安裝完畢使用方法如上圖:pm2 set pm2-logrotate:max_size 1k

格式是:pm2 set pm2-logrotate:

命令設定具體的引數,支援的引數有:

l compress:是否通過

gzip

壓縮日誌

l max_size:單個日誌檔案的大小,比如上圖中設定為

1k(這個其實太小了,實際檔案大小並不會嚴格分為1k)

l retain:保留的日誌檔案個數,比如設定為

10,那麼在日誌檔案達到

10個後會將最早的日誌檔案刪除掉

l dateformat:日誌檔名中的日期格式,預設是

yyyy-mm-dd_hh-mm-ss

,注意是設定的日誌名

+這個格式,如設定的日誌名為

abc.log

,那就會生成

abc_yyyy-mm-dd_hh-mm-ss.log

名字的日誌檔案

l rotatemodule:把

pm2本身的日誌也進行分割

l workerinterval:設定啟動幾個工作程序監控日誌尺寸,最小為

1rotateinterval:設定強制分割,預設值是

0 0 * * *

,意思是每天晚上

0點分割,這個足夠了個人覺得

設定完畢後可通過pm2 conf pm2-logrotate來檢視詳細的配置。

存在問題

1m,那麼在

檔案沒有超過

1m時,即使第二天新建了日誌檔案

,但是依然會把日誌追加到

中而非新建的日誌檔案中,更坑的是,在超過設定的大小後,它是把超出部分寫到新的日誌檔案中,然後繼續在

中追加- -

,在官方文件中也沒有發現對這個問題的說明。

不過,值得高興的是,萬能的網友解決了這個問題!github位址在

這裡,請開心享用。

pm2日誌管理外掛程式

pm2的日誌模組預設是每乙個服務程序都分配兩個預設的日誌檔案 這兩個日誌檔案存放於 root pm2 logs中,如果pm2管理5個服務,那麼該資料夾下總共有10個日誌檔案,並且隨著時間不斷增加,很容易就會產生很多個上g的日誌檔案,導致了伺服器的磁碟空間不足的問題 解決方法 合併日誌 將所有服務的日...

程序管理PM2

1 pm2 需要全域性安裝 npm install g pm2 cwd 應用程式所在的目錄 script 應用程式的指令碼路徑 log date format 日誌檔名輸出日期格式 yyyy mm dd hh mm z max restarts 設定應用程式異常退出重啟的次數,預設 15 次 從 0...

離線安裝PM2

因為要部署應用的機器沒有公網連線,所以直接npm install pm2是不可能了,簡單記錄一下怎麼離線安裝pm2 執行 npm install pm2 g 安裝pm2 執行 npm config get prefix,看一下這台機器的npm預設全域性安裝目錄在哪,然後去這個目錄下面的 lib no...