Mule Log4j2配置

时间:2015-07-07 00:45:12

标签: mule log4j2

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Properties>
        <Property name="log-path">${MULE_HOME}/logs/sfdc</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}/sfdc-info.log"
            filePattern="${log-path}/sfdc-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>
        </RollingFile>
        <RollingFile name="trace-log" fileName="${log-path}/sfdc-trace.log"
            filePattern="${log-path}/sfdc-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>
        </RollingFile>
        <RollingFile name="error-log" fileName="${log-path}/sfdc-error.log"
            filePattern="${log-path}/sfdc-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>
        </RollingFile>
    </Appenders>
    <Loggers>
        <AsyncLogger name="org.apache" level="WARN"/>
        <AsyncLogger name="org.springframework.beans.factory" level="WARN"/>
        <AsyncLogger name="org.mule" level="INFO"/>
        <AsyncLogger name="com.mulesoft" level="INFO"/>
        <Logger name="com.test" level="info" additivity="false">
            <appender-ref ref="info-log" level="info" />
            <appender-ref ref="trace-log" level="debug" />
            <appender-ref ref="error-log" level="error" />
            <appender-ref ref="console-log" level="debug" />
        </Logger>
        <Root level="info" additivity="false">
            <AppenderRef ref="info-log" />
        </Root>
    </Loggers>
</Configuration>

在mule-app.properties中指定MULE_HOME = C:/ sfproject / test

我遇到的问题是它没有从mule-app.properties获取路径$ {MULE_HOME}位置,但它会在项目的原始位置下创建一个目录(MULE_HOME = C:/ sfproject /)作为$ {MULE_HOME} /登录我的本地目录。我希望所有日志文件都在C:/ sfproject / test / logs目录下。

当我在服务器中部署相同的内容时(在mule-app.properties中注释了mule_home路径,因为它不是必需的,它应该指向服务器位置然后记录目录),在servers / logs目录下不会创建任何日志文件。

  

编辑:

根据下面给出的Ryan答案,在anypoint studio中本地工作,右键单击项目 - >运行as-&gt;运行配置 - &gt; ENVIRONMENT-&gt; New-&gt;名称(MULE_HOME) - &gt;值(C:/项目/测试) - &GT; OK-&GT;适用于─&gt;运行

1 个答案:

答案 0 :(得分:2)

尝试使用env前缀查找环境变量:

 ${env:MULE_HOME}

https://logging.apache.org/log4j/2.0/manual/lookups.html#EnvironmentLookup