log4j2-gelf"ERROR StatusLogger appenders包含无效的元素或属性"GELF""

Fel*_*lix 6 java logging graylog2 log4j2 gelf

刚开始进入Graylog2并希望通过GELF输入记录一些Java应用程序.因此我使用了库log4j2并添加了graylog2-gelfclient.所有依赖项都得到满足并且程序正在运行.但是我的Logmanager初始化会引发以下错误:

ERROR StatusLogger appenders contains an invalid element or attribute "GELF"
Run Code Online (Sandbox Code Playgroud)

我的代码只是将错误记录到记录器:

static final Logger logger = LogManager.getLogger(Application.class); 
    public static void main(String[] args) {
        logger.error("This is an error log entry");
    }
}
Run Code Online (Sandbox Code Playgroud)

我的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>
Run Code Online (Sandbox Code Playgroud)

有人熟悉这个问题吗?谢谢你的帮助.

Rem*_*pma 4

听起来依赖项有问题,或者 log4j 在加载或初始化 GELF 附加程序插件时遇到其他问题。提及 log4j2 和 log4j2-gelf 的确切依赖关系可能是个好主意。(否则我们就只能猜测了...)

此外,尝试将状态输出设置为跟踪

<configuration status="trace" ...
Run Code Online (Sandbox Code Playgroud)

并查看控制台上显示的 log4j 内部日志消息。这应该能让您了解问题所在。希望该输出中存在明确的错误级别消息,告诉我们问题是什么。