繁体   English   中英

在 Spring 5 和 log4j2 中使用 JAMon

[英]Using JAMon with Spring 5 and log4j2

我正在升级当前正在将 Spring 核心从 4.3 移动到 5.2 的应用程序(是的,尝试期待 LTS 版本的里程碑),它需要我们移动到 log4j2。

到目前为止,我们遇到的问题是,我似乎无法找到有关如何使 JAMon 使用此新配置工作的任何信息。 附加程序失败并显示以下消息:

java.lang.NoSuchMethodException: org.apache.log4j.api.LoggingEvent.<init>(Ljava/lang/String;Lorg/apache/log4j/Category;Jorg/apache/log4j/Priority...)

而且,在项目,从维护听到最后,我们为这个(貌似目前的版本不支持更改追加程序来log4j2)。

例如在 log4j.jsp 中,它导入

<%@ page import="com.jamonapi.MonitorFactory, org.apache.log4j.Logger, org.apache.log4j.PropertyConfigurator, java.util.Properties" %>

源代码中的 JAMonAppender 类说

public class JAMonAppender extends AppenderSkeleton {
    /* Prefix for this classes jamon monitor labels */
    private final String PREFIX = "com.jamonapi.log4j.JAMonAppender.";

    // any of these poperties can be overridden via log4j configurators.
    private int bufferSize = 100;

    private String units = "log4j"; // units in jamon montiors

所以它似乎是硬连线到ye olde log4j。 有没有人设法让它工作?

我想你上面有一个错字。 该类应该是 org.apache.log4j.spi.LoggingEvent。 Log4j2 和 SLF4J 都为 Log4j 1.x 提供适配器,但它们都不包含 LoggingEvent 构造函数,更不用说与您缺少的签名匹配的构造函数。 但我真的不认为这是必要的(以前没有人要求过)。 除非以编程方式实例化 JAMonAppender,否则为 Log4j 创建 JAMonAppender 将相当简单。 也就是说,JAMon 的最后一次更新是 4 年前,所以如果 PR 被接受,我会感到惊讶。

我应该澄清的一件事 - JAMonAppender 只能与 log4j 1.2 一起使用进行日志记录。 如果您的目标是使用 Log4j 2 重写,则将需要附加程序。

请注意,我是 jamonapi 的创建者。 尽管如此,我已经有一段时间没有更新了,它仍然受到支持,如果有人想要的话,我们可以添加一个 log4j 2 appender。 我知道这是一个旧帖子,但让我知道你的想法......

编辑:从 jamon 2.82 开始,JAMonAppender 已更新为与 log4j 2 一起使用。对于 log4j,它能够查看每个级别被调用的次数(错误、信息),并允许您通过网络“拖尾”日志应用程序。 它也监视应用程序的许多其他方面。 这是 log4j2 的链接 - http://jamonapi.sourceforge.net/log4j_jamonappender.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM