我想将不同的 log4j 日志集中到服务器上。我在哪里可以找到一个?
7 回答
只是我的两分钱,
1) 我建议不要将 JDBC appender 用于生产环境,因为当缓冲区开始填满时,它可能会导致一些性能问题。
2) 我认为更好的方法是使用可以通过 ssh 等远程监控日志文件的应用程序。有一些关于,抱歉记不住他们的名字。
请记住,log4j 是高性能的,但它是同步的,因此如果您决定将日志事件发布到服务器,请考虑延迟/瞬态网络问题等。
卡尔
试试logFaces,它是一个建立在 Apache 日志服务之上的日志服务器、聚合器和查看器。
披露:我是该产品的作者。
如果在 Windows 上运行,我建议使用 SyslogAppender 并获取 syslog 守护程序的开源实现。Unix/Linux/etc 自带对 Syslog 的原生支持。
Log4j 可以定向到任何输出流,包括连接到另一台计算机的 Socket。您仍然需要编写一个小型应用程序来接收 log4j 数据并将其写入日志文件。
My two cents ...
Are you looking for a gui application (e.g. for debugging)?
Are you looking for a centralized archive (e.g. for production system administration)?
- You could use the jdbc appender and store all you log on a db.
Are you looking for library (e.g. for some integration purpose)?
- Try http://logging.apache.org/log4j/companions/receivers/index.html (only log4j 2.0, I never used it)
LLP, Andrea
是的,使用 socketappender 登录到远程主机,但我不敢相信还没有一个高效的接收器可以用来代替编写它。
谢谢
您可以尝试Splunk (www.splunk.com)。免费版可以让您每天最多记录和索引 500MG。我们部署了一台服务器,并且 log4net(log4j 的 .net 版本)和 NLog 都从多台机器记录到它。您还可以使用 splunk 来监视各种机器上的其他日志,这样您就可以在应用程序开始抛出错误之前快速识别出哪些更改。