我有两个使用Log4j2日志记录的项目(P1和P2)。每个项目都将其单独的log4j2.xml放在src / main / resources目录中(根据maven结构)。
问题是,当我通过我的IDE(Eclipse)运行项目中的任何程序(比如说P1)时,它会选择正确的log4j2.xml。 (可能是因为Eclipse正确解析了类路径)。但是当我从命令行运行相同的程序时,它会选择项目P2的log4j2.xml。
我已经多次尝试“清理并安装”maven项目,但没有任何帮助。
有什么想法吗?
答案 0 :(得分:3)
一般来说,最好避免将配置文件放在jar文件中以避免这个问题。如果您在此事上没有选择权,则需要控制类路径,以使具有所需log4j2.xml的jar在jar之前具有不需要的配置文件。
此外,您可以使用系统属性指定配置文件的位置:http://logging.apache.org/log4j/2.x/faq.html#config_location