刚开始接触 Graylog2,想通过 GELF 输入记录一些 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/