在Apache Tomcat中使用Log4j进行Mule日志记录

时间:2012-08-07 17:50:10

标签: tomcat logging log4j mule

我在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>

2 个答案:

答案 0 :(得分:0)

OOTB per-app日志记录功能是仅由mule standaone提供的功能之一(如here所述)

据说,你可以利用log4j配置来实现类似的结果。为此,您必须将自定义log4.properties(或log4.xml)文件添加到使用FileAppender的webapp并根据您的需要进行配置

答案 1 :(得分:0)

在您的示例中,您只声明了一个appender&#34; FILE&#34;。

当您运行多个应用程序时,您可以声明附加的appender,以显示基于包名称的信息。您仍将在主日志文件中包含一些与org.mule ...包中的错误相关的信息。我想那就是你做的。