Mule 3.6.1 和使用 log4j2 的 Logentries

Mule 3.6.1 and Logentries using log4j2

我们正在使用 Mule 3.6.1 构建我们的应用程序。为了覆盖他们的日志,我们需要使用log4j2.xml。 我在这里按照示例制作了一个:https://logentries.com/doc/java/。当我 运行 我们的应用程序时,我得到:

2015-05-06 09:56:37,603 ERROR 处理元素 Logentries 时出错:CLASS_NOT_FOUND

2015-05-06 09:56:37,606 错误无法找到记录器的附加程序文件

这让我想知道我是否遗漏了什么。我不确定这些步骤的实际含义:

这些仅适用于 log4j2,不适用于 log4j 或 logback。我试过 log4j 和 logback 正如一般 Eclipse 项目中描述的 https://logentries.com/doc/java/,它们都有效。 但是,在一般的 Eclipse 项目中,log4j2 不起作用。 应该有一些我遗漏的特殊设置,但我真的看不到 Apache 站点上的内容。

这就是我们的 Gradle 的样子:

dependencies {
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.2'
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.2'
compile group: 'org.slf4j', name: 'log4j-over-slf4j', version: '1.6.4'
compile group: 'com.logentries', name: 'logentries-appender', version: 'RELEASE'
compile group: 'log4j', name: 'log4j', version: '1.2.16'

其实,我发现了问题所在。问题出在这里:

compile group: 'com.logentries', name: 'logentries-appender', version: 'RELEASE'

这下载了以下 jar: file:/C:/Projects/tralala/.mule/apps/ws-comaround-cfx/lib/logentries-appender-1.1.20.jar 其中不包括对 log4j2 的支持! 我不得不改为

compile group: 'com.logentries', name: 'logentries-appender', version: '1.1.30'

1.1.30 版本包括对 log4j2 的支持。有趣的是,为什么 RELEASE as 版本不起作用。我也在 E​​clipse 中尝试过,更改那里的版本也很好。

请检查文件 log4j2-test.xml 它可能在下面的模式中。

<Configuration>
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%-5p %d [%t] %c: %m%n"/>
        </Console>

        <Logentries >
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss ZZZ} %-5p: %F:%L  %m"/>
            <Name>le</Name>
            <Token>${logentries.token}</Token>
            <Debug>false</Debug>
            <Ssl>False</Ssl>
        </Logentries>
    </Appenders>
<Loggers>

        <Root level="DEBUG">
            <AppenderRef ref="Console"/>
            <AppenderRef ref="le"/>
        </Root>
    </Loggers>

</Configuration>

如果您不确定需要添加哪些额外内容 类 或需要更改哪些版本,请删除 ref="le" 和 'Logentries' 条目。