我在Apache Tomcat中运行Mule并使用Log4j进行日志记录。但是我无法将每个应用程序日志记录到不同的文件中。 我知道当Mule在独立模式下运行时可以完成。 在这种情况下,是否可以为每个应用程序提供一个日志文件?
这是我使用的log4j.xml配置:
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="[%d{dd-MM-yyyy hh:mm:ss:sss}] %5p %c{2}: %m%n" />
</layout>
</appender>
<appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
<appender-ref ref="FILE"/>
</appender>
<appender name="FILE" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="${catalina.base}/logs/MYAPP.log"/>
<param name="MaxFileSize" value="100MB"/>
<param name="MaxBackupIndex" value="100"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="[%d{dd-MM-yyyy hh:mm:ss:sss}] %5p %c{2}: %m%n"/>
</layout>
</appender>
<root>
<priority value="INFO"/>
<appender-ref ref="CONSOLE"/>
<appender-ref ref="ASYNC"/>
</root>
</log4j:configuration>
答案 0 :(得分:0)
OOTB per-app日志记录功能是仅由mule standaone提供的功能之一(如here所述)
据说,你可以利用log4j配置来实现类似的结果。为此,您必须将自定义log4.properties(或log4.xml)文件添加到使用FileAppender的webapp并根据您的需要进行配置
答案 1 :(得分:0)
在您的示例中,您只声明了一个appender&#34; FILE&#34;。
当您运行多个应用程序时,您可以声明附加的appender,以显示基于包名称的信息。您仍将在主日志文件中包含一些与org.mule ...包中的错误相关的信息。我想那就是你做的。