如何在运行时使用条件在 log4j 配置文件之间切换

How to switch between log4j configuration files at runtime with a condition

我有两个不同的 log4j.properties 文件。一个用于生产,另一个用于沙箱。通常,应用程序使用 log4j.properties。但是对于沙盒版本(通过使用条件),我希望该应用程序应该使用一个由我创建并命名为 sandbox-log4j.properties 的属性文件。它们之间的唯一区别是在沙盒版本中添加了日志跟踪行。

如何使用 java 文件中的条件在两个文件之间切换?

我找到了答案。 @Michael 关于 JVM 的建议帮助我解决了这个问题。我在提供的配置中使用 Elastic Beanstalk 及其 JVM 选项字段来分隔 log4j.properties 个文件。将 JVM 选项设置为 -Dlog4j.configuration=sandbox-log4j.properties 足以解决问题。