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 错误无法找到记录器的附加程序文件
这让我想知道我是否遗漏了什么。我不确定这些步骤的实际含义:
- (1) 安装 Log4j2(如果您尚未使用它)。
- (2) 安装 Logentries appender。
- (3) 配置Logentries appender。
这些仅适用于 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 版本不起作用。我也在 Eclipse 中尝试过,更改那里的版本也很好。
请检查文件 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' 条目。
我们正在使用 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 错误无法找到记录器的附加程序文件
这让我想知道我是否遗漏了什么。我不确定这些步骤的实际含义:
- (1) 安装 Log4j2(如果您尚未使用它)。
- (2) 安装 Logentries appender。
- (3) 配置Logentries appender。
这些仅适用于 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 版本不起作用。我也在 Eclipse 中尝试过,更改那里的版本也很好。
请检查文件 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' 条目。