每个项目的Log4j日志文件

时间:2013-10-01 08:33:37

标签: java tomcat logging log4j

我有9个运行log4j的tomcat项目,现在如何使用相同的log4j.properties文件为每个项目提供不同的日志文件

使用以下设置创建不同的文件但是日志写在一个文件中

log = /usr/logs
log4j.rootLogger = DEBUG, FILE

log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${log}/std.out

log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%d [%-5p] [%C] [%t] [%L] - [%m] %n

PropertyConfigurator.configure(props);之前我正在更新以下属性并因此创建了一个文件但是如何进行这些设置以将日志写入相应的日志文件

log4j.appender.FILE.File

3 个答案:

答案 0 :(得分:0)

特别是在处理大型项目时,运行Tomcat的单独实例可以派上用场:如果你搞砸了一个项目的服务器配置,并不意味着其他项目将不再运行,并且,仅仅因为配置对于一个项目需要改变,并不意味着其他项目的配置应该。

如果您必须连续运行这些应用程序(不太可能,但仍然如此),您可能需要不时重新启动容器,如果您不将所有项目“脱机”放在同一个位置,则可能会很好时间。

但是,在你的情况下,最有利的区别是:对于每个单独的Tomcat安装(无论如何只需要几mb,就好像你的磁盘空间不足),你可以指定一个单独的日志文件。 (但是,请记住在执行此操作时使用不同的端口,否则您将无法同时运行它们)

答案 1 :(得分:0)

如果确实需要,您可以在一个log4j配置中定义单独的记录器,但必须由您的应用程序支持,该应用程序必须能够选择正确的记录器。 Stultuske的解决方案更合适。

答案 2 :(得分:0)

您需要指定文件名:

log4j.appender.File.File=/location/nameLogFile.log