骡子 Log4j2 不工作

Mule Log4j2 not working

我的 src/main/resources 中有一个 log4j2 XML 文件,如下所示。但我仍然没有看到创建的日志文件。知道我会遗漏什么。

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
  <Appenders>
    <File name="file" fileName="C:\Users\Guest\Desktop\Mule.log">
      <PatternLayout>
        <Pattern>%d %p %c{1.} [%t] %m %ex%n</Pattern>
      </PatternLayout>
    </File>
    <Console name="STDOUT" target="SYSTEM_OUT">
      <PatternLayout pattern="%m%n"/>
    </Console>
  </Appenders>
  <Loggers>
    <Root level="trace">
      <AppenderRef ref="file" level="DEBUG"/>
      <AppenderRef ref="STDOUT" level="INFO"/>
    </Root>
  </Loggers>
</Configuration>

尝试将 fileName 更改为 fileName="C:/Users/Guest/Desktop/Mule.log"

Log4j2 配置仅适用于 Mule-3.6 版本+,请检查您的 Mule 版本并将文件名命名为 C:/Users/Guest/Desktop/Mule.log 格式。

示例文件:

    <?xml version="1.0" encoding="utf-8"?>
<Configuration>
    <Properties>
        <Property name="log-path">${env:MULE_HOME}/logs/test</Property>
        <Property name="log-name">test</Property>
    </Properties>
    <Appenders>
        <Console name="console-log" target="SYSTEM_OUT">
            <PatternLayout
                pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n" />
        </Console>
        <RollingFile name="info-log" fileName="${log-path}/${log-name}-info.log"
            filePattern="${log-path}/${log-name}-info-%d{yyyy-MM-dd}.log">
            <PatternLayout>
                <pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
                </pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true" />
            </Policies>
            <SizeBasedTriggeringPolicy size="10 MB" />
            <DefaultRolloverStrategy max="10"/>
        </RollingFile>
        <RollingFile name="debug-log" fileName="${log-path}/${log-name}-debug.log"
            filePattern="${log-path}/${log-name}-debug-%d{yyyy-MM-dd}.log">
            <PatternLayout>
                <pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
                </pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true" />
            </Policies>
            <SizeBasedTriggeringPolicy size="10 MB" />
            <DefaultRolloverStrategy max="10"/>
        </RollingFile>
        <RollingFile name="trace-log" fileName="${log-path}/${log-name}-trace.log"
            filePattern="${log-path}/${log-name}-trace-%d{yyyy-MM-dd}.log">
            <PatternLayout>
                <pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
                </pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true" />
            </Policies>
            <SizeBasedTriggeringPolicy size="10 MB" />
            <DefaultRolloverStrategy max="10"/>
        </RollingFile>
        <RollingFile name="error-log" fileName="${log-path}/${log-name}-error.log"
            filePattern="${log-path}/${log-name}-error-%d{yyyy-MM-dd}.log">
            <PatternLayout>
                <pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
                </pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true" />
            </Policies>
            <SizeBasedTriggeringPolicy size="10 MB" />
            <DefaultRolloverStrategy max="10"/>
        </RollingFile>
    </Appenders>
    <Loggers>
        <!-- CXF is used heavily by Mule for web services -->
        <AsyncLogger name="org.apache.cxf" level="WARN"/>

        <!-- Apache Commons tend to make a lot of noise which can clutter the log-->
        <AsyncLogger name="org.apache" level="WARN"/>

        <!-- Reduce startup noise -->
        <AsyncLogger name="org.springframework.beans.factory" level="WARN"/>

        <!-- Mule classes -->
        <AsyncLogger name="org.mule" level="INFO"/>
        <AsyncLogger name="com.mulesoft" level="INFO"/>

        <!-- Reduce DM verbosity -->
        <AsyncLogger name="org.jetel" level="WARN"/>
        <AsyncLogger name="Tracking" level="WARN"/>

        <AsyncRoot level="DEBUG">
            <appender-ref ref="info-log" level="info" />
            <appender-ref ref="trace-log" level="trace" />
            <appender-ref ref="debug-log" level="debug" />
            <appender-ref ref="error-log" level="error" />
            <appender-ref ref="console-log" level="debug" />
        </AsyncRoot>

    </Loggers>
</Configuration>

对于工作室,在运行 Configuration->Environment->new->Name->MULE_HOME and Value->c:/test[=11 中指定MULE_HOME的位置=]