0

我有 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
4

3 回答 3

0

尤其是在处理大型项目时,运行单独的 Tomcat 实例会派上用场:如果您弄乱了一个项目的服务器配置,并不意味着其他项目将不再运行,而且,仅仅因为一个项目的配置需要改变,并不意味着其他项目的配置应该改变。

如果您必须连续运行这些应用程序(不太可能,但仍然),您可能希望不时重新启动您的容器,如果您不同时将所有项目“离线”可能会很好。

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

于 2013-10-01T08:39:31.377 回答
0

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

于 2013-10-01T08:45:52.917 回答
0

您需要指定文件名:

log4j.appender.File.File=/location/nameLogFile.log
于 2013-10-01T08:47:59.747 回答