java - 每个项目的 Log4j 日志文件

标签 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

最佳答案

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

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

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

关于java - 每个项目的 Log4j 日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19111492/

相关文章:

java - 在 Tomcat 中使用 ExecutorService/Futures?

java - 使用 Java Spring 和 SSL 访问本地主机 URL

python - ProcessPoolExecutor 日志记录失败?

node.js - 如何永远将子进程输出打印到标准输出。

java - 所有数字的总和,直到它在具有 o(1) 复杂度的 Java 中变成单个数字?

java - Jsoup:选择具有单个类的元素

java - Mig 布局 : bad alignment

tomcat - 取消部署 Tomcat Web 应用程序时如何防止文件锁定?

java - log4j linux 问题 - 日志文件为空

Java 正则表达式不匹配确切数目的匹配项