Mule不支持log4j2.component.properties或log4j2.system.properties

p8ekf7hl  于 2023-02-19  发布在  其他
关注(0)|答案(1)|浏览(143)

我有一个mule应用程序,它需要从不同的位置加载log4j2.xml,如下所示。

应用程序1

dev --> /etc/dev/app1/log4j2.xml    
sit --> /etc/sit/app1/log4j2.xml    
.    .    .    
prod --> /etc/prod/app1/log4j2.xml

我不想使用springbean加载,因为在加载这个bean时,Mule已经使用默认配置为app 1启动了日志上下文,并向它写入了很少的日志。
在log4j功能中,有log4j2.system.propertieslog4j2.component.properties文件。如果将其中任何一个文件添加到包含log4j.configurationFile属性的类路径(src/main/resources)中,则应该在应用程序启动期间拾取此文件。
参考:Log4j系统属性

log4j.configurationFile=${config.path}/app1/log4j2.xml

config.path在 Package 器中定义为系统属性,可用于保存env路径的app 1(如果是dev,则为“/etc/dev”;如果是sit,则为“/etc/sit”等)

但是,Mule不会拾取这两个文件并解析为默认配置。
有人能帮助Mule在应用程序启动时拾取这些文件吗?

jw5wzhpr

jw5wzhpr1#

经过长时间的研究,我们必须使用“logConfig”键更新mule_artifact. json,以定义外部log4j2.xml文件在服务器中相对于mule_home路径的位置。
相同的路径在本地可能不起作用,但您可以创建“mklink”以类似于本地的服务器路径。
我都测试成功了。

相关问题