log4cxx:发送日志到日志服务器?

时间:2015-05-19 22:39:01

标签: log4cxx

我们有一个单线程应用程序,由于某些原因必须保持单线程。我们使用log4cxx有大量的运行时调试日志。在不影响应用程序性能的情况下,进行日志记录的最佳方法是什么?

我知道log4cxx可以发送日志 *直接本地文件。这可能会大大减慢应用程序的速度。分析已经证实了这一点。 *发送到本地syslog。我想这可能与直接发送到本地文件没有太大区别。 *发送到SocketAppender。我使用log4j的SimpleSocketServer进行了测试。性能并不比直接写文件好。我还没看过SimpleSocketServer的源代码。最天真的实现是SocketAppender使用阻塞写入,而SimpleSocketServer使用来自套接字的阻塞读取,并且只在完成写入当前日志条目时执行下一次读取。这将与直接记录到本地文件相同。

我想我们必须编写一个日志记录服务器,从套接字读取1个线程并将msg放入队列,另一个线程将msg写入日志文件。

互联网上某处可能有这样一个免费的日志记录服务器。在开始搜索这样的服务器或自己编写服务器之前,还有其他解决方案吗?

感谢。

0 个答案:

没有答案