在Mule中动态选择log4j2配置

时间:2017-02-12 20:54:21

标签: mule log4j2

我已经阅读了Mule Logging文档,但不清楚如何为每个环境动态加载不同的日志记录配置文件。基本上我想控制跨环境的日志详细程度和同步/异步功能,以寻找基于服务器环境属性变量动态选择属性文件的类似功能。

3 个答案:

答案 0 :(得分:0)

我没有尝试过,但是你应该能够在使用log4j.configuration系统属性启动Mule时在命令行设置log4j配置文件。

例如(在Windows中),如果您的env变量被调用-Dlog4j.configuration=c:\some-path\log4j-%MULE-ENV%.xml,则添加MULE-ENV

请注意,如果使用独立的-M-Dlog4j.configuration=...文件,如果使用Mule独立(在这种情况下我认为您需要wrapper.conf),可以直接在命令行上设置几个地方 - 或在Studio中运行时在“运行配置”中的“参数”选项卡的“VM参数”部分中。

答案 1 :(得分:0)

您的应用程序中可以有一个bean,可以调用该方法来设置配置。您可以将环境名称作为参数传递给此bean,它将选择与该环境关联的配置文件。您可以使用invoke组件调用该方法,并在启动时执行此流程。 直到执行流程,才能使用默认日志记录配置。

答案 2 :(得分:0)

您可以通过 external path application classpath 在应用程序中动态加载log4j2文件的两种方法: -

  1. 在应用程序mule-deploy.properties中设置log4j2文件路径,如: -

    log.configFile = E:\共log4j2.xml

  2. 通过 Spring 重新配置日志管理器并从您定义的路径加载我们自己的log4j2.xml文件,以编程方式在应用程序中加载log4j2.xml : - 参考: - https://dzone.com/articles/getting-own-log4j2-file-for-mule-via-spring