我有 2 个 web 应用程序,想将这两个 web 应用程序的日志消息记录到一个日志文件中。我尝试了这种情况,面临的问题是“如果一个 Web 应用程序将消息记录到日志中,则第二个 Web 应用程序无法将消息记录到日志文件中”。如果我停止服务器,第二个应用程序能够登录。有帮助吗?
问问题
593 次
3 回答
1
您可以为此使用 Log4J SocketAppender
,它更简洁 - 可以在本文中找到一个示例:log4j:如何使用 SocketAppender。
老实说,与为您的进程拥有两个独立的日志文件相比,这有点矫枉过正。
顺便提一句。您的方法可能在分布式文件系统(例如 NFS)上存在问题 - 不要混合日志文件。
希望能有所帮助。*约斯特
于 2013-08-27T07:28:10.743 回答
1
从多个独立进程写入同一个文件是一个坏主意 - 从您的问题中可以看出,只有其中一个进程可以获得文件锁定。
您需要的是一个集中的日志服务器,并让您的所有应用程序通过网络登录到该服务器。看到这个问题
于 2013-08-27T07:21:36.663 回答
0
将两个不同应用程序的日志记录到公共日志中并不是一个好主意。日志模块锁定日志文件以进行写入。如果其他应用程序试图访问相同的日志,它不会获得锁。我会避免这样的事情。
于 2013-08-27T07:20:26.443 回答