我有在Linux系統下運行並使用log4js日誌庫的Node.js應用程序。日誌文件由Linux滾動系統每日滾動。問題如下:有人知道如何強制log4js重新創建和使用原始日誌文件時,它以某種方式重命名? 注意,Log4js繼續將日誌寫入重命名的文件中(看起來,流描述符被保留)。 請注意,我不想使用log4js DaylyRollingFileAppender,因爲我的日誌文件夾包含由各種語言(Java,Python,JavaScript,Bash ...)生成的日誌文件。當日志文件按OS進行滾動時,Node.js日誌記錄會出現問題。
0
A
回答
0
我假設您使用logrotate
。
您可以嘗試在logrotate配置文件中使用'reload'指令。 (詳情請見:http://www.linuxcommand.org/man_pages/logrotate8.html)
好像那樣log3js可以處理SIGHUP。 (問題:https://github.com/nomiddlename/log4js-node/issues/343,拉請求:https://github.com/nomiddlename/log4js-node/pull/403)
次要的解決方案是將其配置爲使用'copytruncate'指令,但它有取捨: https://serverfault.com/questions/688658/rsyslog-with-logrotate-reload-rsyslog-vs-copytruncate
相關問題
- 1. slf4j日誌記錄問題 - 未生成日誌文件
- 2. IIS PHP不會將日誌文件記錄到日誌文件
- 3. Cron日誌記錄問題
- 4. NHibernate日誌記錄問題
- 5. SLF4J日誌記錄問題
- 6. python日誌記錄問題
- 7. node.js多進程日誌記錄
- 8. Scrapy日誌記錄:配置日誌重寫日誌文件
- 9. 按日誌行解析日誌文件
- 10. 空記錄器問題(日誌記錄)
- 11. Node.js Winston日誌記錄:數組輸出
- 12. Python BasicConfig日誌記錄不會改變日誌文件
- 13. Util日誌記錄不會刪除舊日誌文件輪流
- 14. 事務日誌記錄當回滾
- 15. Python日誌記錄到標準輸出和日誌文件
- 16. 在node.js中過濾傳出請求以進行日誌記錄
- 17. Arangodb日誌記錄文件
- 18. 輸出當前會話日誌到日誌窗口和文件
- 19. Java日誌記錄:它是日誌還是日誌記錄器?
- 20. Logback滾動日誌記錄不工作
- 21. 在SDcard上對日誌文件系統性能進行日誌記錄
- 22. 從文件日誌記錄移動到數據庫日誌記錄
- 23. 滾動日誌文件和刪除舊的日誌文件
- 24. 按包名彈出日誌記錄
- 25. 日誌記錄剛剛出現異常
- 26. Python嘲笑日誌記錄,同時保留日誌輸出
- 27. 集中日誌記錄方法和日誌記錄當前行號
- 28. 當達到日誌限制時,LogCat不會停止滾動我的日誌
- 29. Kohana問題2.3.4錯誤日誌記錄
- 30. jdk7 RessourceBundle /日誌記錄問題
感謝您的回答。哦,'copytruncate'當然是解決方案,但它對性能的衝擊,因爲我的應用程序在大負載下工作,並且日誌增長到幾GB。因此,Linux的滾動持續了一段時間,機器負載達到了8-10。因此,我的應用程序實際上是在這個時候掛起的。總之,我試圖避免使用'copytruncate'。 – user1856533
好像他們現在處理SIGHUP信號,你可以嘗試'重新加載'指令。看到這個問題:https://github.com/nomiddlename/log4js-node/issues/343。並拉請求:https://github.com/nomiddlename/log4js-node/pull/403。可能它不在npm中。在這種情況下,你可以(臨時)直接從git安裝。 – teq
如果我的回答對您有幫助,請將其標記爲「已接受」 – teq