2010-07-01 130 views
0

我们正在使用log4j进行日志记录功能。该应用程序正在群集环境中运行。我如何配置log4j属性,使所有实例都记录到同一个日志文件中?在集群环境中配置log4j

+0

没有足够的信息。 “集群环境”是什么意思? – skaffman 2010-07-01 13:28:42

+0

群集是跨多台机器分配服务器工作负载的概念。这些是运行相同应用程序的实例是不同的机器或换句话说不同的JDK。我想为集群中的所有实例建立一个集中的日志文件。 – Mithun 2010-07-01 13:52:18

+0

是的,我们知道聚类的意思。我们需要知道什么样的聚类,这可能意味着十几个不同的事情。聚类是一个复杂的情况,你不能用3个简短的句子问一个有意义的问题。 – skaffman 2010-07-01 14:13:33

回答

0

一个解决方案是有一个专门用于记录的目录。该目录可以位于安装到两个进程相同位置的网络共享(NFS等)上。这可以像安装到文件结构中的相同位置一样简单,或者可以使用环境变量($ LOGDIR)完成,因此每个主机都可以指向本地文件结构中的不同位置。

重要的是共享文件夹,以便多个进程写入同一个文件。正常的共享资源限制适用于;确保文件未被一台主机锁定,同时阻止其他人写入等。另外,使用包含主机名/进程名/线程ID的输出模式。

我用过的另一种方法是写入日志表的数据库appender。不需要共享,但您仍然需要考虑多进程日志记录的问题来设计表格。