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)
有人熟悉这个问题吗?谢谢你的帮助.
听起来依赖项有问题,或者 log4j 在加载或初始化 GELF 附加程序插件时遇到其他问题。提及 log4j2 和 log4j2-gelf 的确切依赖关系可能是个好主意。(否则我们就只能猜测了...)
此外,尝试将状态输出设置为跟踪
<configuration status="trace" ...
Run Code Online (Sandbox Code Playgroud)
并查看控制台上显示的 log4j 内部日志消息。这应该能让您了解问题所在。希望该输出中存在明确的错误级别消息,告诉我们问题是什么。