【问题标题】:Mule Log4j2 not working骡 Log4j2 不工作
【发布时间】:2015-12-05 03:24:18
【问题描述】:

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

【问题讨论】:

    标签: log4j mule


    【解决方案1】:

    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>
    

    对于 studio,在 Run Configuration->Environment->new->Name->MULE_HOME 和 Value->c:/test 中指定 MULE_HOME 的位置

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2015-09-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-13
        • 2014-04-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多