刚开始进入Graylog2并想通过GELF Input记录一些Java应用程序。
因此,我使用了库log4j2并添加了graylog2-gelfclient。满足所有依赖关系,并且程序正在运行。但是我的Logmanager的初始化引发了以下错误:

ERROR StatusLogger appenders contains an invalid element or attribute "GELF"

我的代码只是将错误记录到记录器中:
static final Logger logger = LogManager.getLogger(Application.class);
    public static void main(String[] args) {
        logger.error("This is an error log entry");
    }
}

并且我的log4j2.xml文件配置为使用GELF和GelfAppender:
<configuration status="OFF">
    <appenders>
        <GELF name="gelfAppender" server="192.168.1.1" port="12201" hostName="myhost"/>
    </appenders>
    <loggers>
        <root level="info">
            <appender-ref ref="gelfAppender"/>
        </root>
    </loggers>
</configuration>

有没有人熟悉这个问题?谢谢你的帮助。

最佳答案

听起来依赖项有问题,或者log4j在加载或初始化GELF appender插件时遇到了其他麻烦。最好提及log4j2和log4j2-gelf的确切依赖项。 (否则,我们不得不猜测...)

此外,尝试设置状态输出以进行跟踪

<configuration status="trace" ...

并查看控制台上显示的log4j内部日志消息。这应该使您对发生的问题有一些了解。希望该输出中有明确的ERROR级消息,告诉我们问题出在哪里。

关于java - log4j2-gelf “ERROR StatusLogger appenders contains an invalid element or attribute ” GELF“”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26489942/

10-11 03:29