如何更改 mule 应用程序日志文件的默认位置?
How do I change the default location for mule application log files?
我想将日志目录从 MULE_HOME/logs 更改为 MULE_HOME/logs/apps。我发现唯一引用文件路径的地方是 MULE_HOME/conf/wrapper.conf。编辑 wrapper.logfile 确实允许我重新定位 mule_ee.log 文件,它似乎是 Mule 应用程序日志,但我想在那里包含 Mule 应用程序日志, 也。如果我创建一个名为 FOO 的应用程序并将其部署到运行时环境,它将创建一个名为 MULE_HOME/logs/mule-app-FOO.log 的文件,但更改位置似乎很难完全搞砸编写自定义 log4j2 XML 文件。
正确的方法是为 FOO 应用程序提供 log4j 属性/xml 文件,并为 FOO 应用程序日志定义所需的路径。这种方式将确保 mule_ee.log 不会被搞砸,同时其他应用程序也将拥有自己的日志文件,这些文件将易于管理,并且在出现错误/异常时易于自省特定应用程序日志
在 log4j.properties 文件中定义位置。
如果你有 Mule 3.6+ 版本,那么建议使用 log4j2.xml 而不是 log4j.xml... 使用 log4j2,您可以更改路径并获取您的应用程序日志...一个简单的示例是:-
<RollingFile name="RollingFile" fileName="${env:MULE_HOME}/logs/${sys:CustomapplicationName}.log"
filePattern="${env:MULE_HOME}/logs/${sys:CustomapplicationName}-%d{yyyy-MM-dd}-%i.log"> <!-- CustomapplicationName is set at mule-app.properties or in VM argument in Run As Configure as -DCustomapplicationName=Log4j -->
<PatternLayout>
<pattern>%d{dd/MMM/yyyy HH:mm:ss,SSS}- %c{1}: %m%n</pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="120 KB" />
</Policies>
<DefaultRolloverStrategy max="1" />
</RollingFile>
只需将上述代码放入 src/main/resource
文件夹中的 log4j2.xml
在上面你可以看到,你已经通过在这里提到配置了你的日志文件的路径:-
<RollingFile name="RollingFile" fileName="${env:MULE_HOME}/logs/apps/${sys:CustomapplicationName}.log"
filePattern="${env:MULE_HOME}/logs/apps/${sys:CustomapplicationName}-%d{yyyy-MM-dd}-%i.log">
其中 ${sys:CustomapplicationName}
是在 mule-app.properties 中设置的系统变量,如下所示:-
CustomapplicationName=yourApplicationName
我想将日志目录从 MULE_HOME/logs 更改为 MULE_HOME/logs/apps。我发现唯一引用文件路径的地方是 MULE_HOME/conf/wrapper.conf。编辑 wrapper.logfile 确实允许我重新定位 mule_ee.log 文件,它似乎是 Mule 应用程序日志,但我想在那里包含 Mule 应用程序日志, 也。如果我创建一个名为 FOO 的应用程序并将其部署到运行时环境,它将创建一个名为 MULE_HOME/logs/mule-app-FOO.log 的文件,但更改位置似乎很难完全搞砸编写自定义 log4j2 XML 文件。
正确的方法是为 FOO 应用程序提供 log4j 属性/xml 文件,并为 FOO 应用程序日志定义所需的路径。这种方式将确保 mule_ee.log 不会被搞砸,同时其他应用程序也将拥有自己的日志文件,这些文件将易于管理,并且在出现错误/异常时易于自省特定应用程序日志
在 log4j.properties 文件中定义位置。
如果你有 Mule 3.6+ 版本,那么建议使用 log4j2.xml 而不是 log4j.xml... 使用 log4j2,您可以更改路径并获取您的应用程序日志...一个简单的示例是:-
<RollingFile name="RollingFile" fileName="${env:MULE_HOME}/logs/${sys:CustomapplicationName}.log"
filePattern="${env:MULE_HOME}/logs/${sys:CustomapplicationName}-%d{yyyy-MM-dd}-%i.log"> <!-- CustomapplicationName is set at mule-app.properties or in VM argument in Run As Configure as -DCustomapplicationName=Log4j -->
<PatternLayout>
<pattern>%d{dd/MMM/yyyy HH:mm:ss,SSS}- %c{1}: %m%n</pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="120 KB" />
</Policies>
<DefaultRolloverStrategy max="1" />
</RollingFile>
只需将上述代码放入 src/main/resource
文件夹中的 log4j2.xml
在上面你可以看到,你已经通过在这里提到配置了你的日志文件的路径:-
<RollingFile name="RollingFile" fileName="${env:MULE_HOME}/logs/apps/${sys:CustomapplicationName}.log"
filePattern="${env:MULE_HOME}/logs/apps/${sys:CustomapplicationName}-%d{yyyy-MM-dd}-%i.log">
其中 ${sys:CustomapplicationName}
是在 mule-app.properties 中设置的系统变量,如下所示:-
CustomapplicationName=yourApplicationName