我想有一個進程捕獲訪問和錯誤日志,沒有日誌被寫入磁盤。我想將node.js process.stdin
用於日誌。任何想法,如果nginx可以設置流日誌到另一個進程,而不是磁盤?Nginx的日誌文件到另一個進程的stdin
0
A
回答
1
不,那是不可能的,這裏有一個TRAC:https://trac.nginx.org/nginx/ticket/73
然而,由於對TRAC的評論,你可以很容易地使用管道日誌使用tail -F /path/to/access/log | your-node-script.js
文件。請注意,這仍然會寫入磁盤然後讀取,因此請考慮IOP的使用情況。
另一個選擇是將Nginx的日誌發送到充當系統日誌服務器的節點應用程序。在Nginx中做這件事很簡單(參見:http://nginx.org/en/docs/syslog.html)。然後您將需要創建一個簡單的Node.js服務器來偵聽端口514 UDP並處理日誌。在這裏突出顯示的行中看到一個示例:https://github.com/cconstantine/syslog-node/blob/e243e2ae7ddc8ef9214ba3450a8808742e53d37b/server.js#L178-L200
相關問題
- 1. 將C程序中的stdin重定向到另一個進程
- 2. 另一個mysqld進程使用相同的InnoDB數據或日誌文件
- 3. 發送所有消息到一個日誌文件,並且RavenDB登錄到另一個日誌文件
- 4. Nginx的訪問日誌文件路徑
- 5. 將stdin作爲另一個文件添加到tar文件中
- 6. servicemix中的一個日誌包含一個日誌文件
- 7. 事件日誌消息被另一個事件日誌覆蓋
- 8. 如何寫入另一個Python進程的STDIN?
- 9. nginx發送日誌到遠程系統日誌服務器
- 10. Nginx:添加$ host到日誌
- 11. Clean/var/log/nginx日誌文件
- 12. 企業庫日誌記錄 - 多線程日誌到多個日誌文件
- 13. 管道將一個程序的stdout重定向到另一個程序的stdin
- 14. 將日誌文件解析爲多個唯一日誌文件
- 15. Nginx的每個域的訪問日誌
- 16. 從多個應用程序/進程記錄到單個日誌文件
- 17. 從另一個線程讀stdin
- 18. git的日誌從另一個
- 19. `mlockall`到另一個進程
- 20. PostThreadMessage到另一個進程
- 21. Python記錄劫持子模塊的日誌到另一個文件(塔)
- 22. 不同進程的日誌
- 23. 逐步處理日誌文件:提取數據併發送到另一個進程(zabbix)
- 24. 禁用nginx日誌
- 25. 無法刪除文件。另一個進程使用的文件
- 26. 運行一個進程並將stdin/strout重定向到特定文件
- 27. 一個進程通過文件系統等待另一個進程的輸出
- 28. 將log4j消息從一種方法重定向到另一個日誌文件
- 29. 從一個Linux到另一個Linux的二進制文件
- 30. 重定向打印到日誌文件,也在子進程中
不錯,使用節點作爲系統日誌服務器聽起來很完美。謝謝! – dzm