我想有一个进程捕获访问和错误日志,没有日志被写入磁盘。我想将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