gpt4 book ai didi

java - 尝试使用 logback 附加程序登录到 Splunk

转载 作者:行者123 更新时间:2023-12-02 13:40:54 28 4
gpt4 key购买 nike

我正在尝试使用 splunk 的 logback 附加程序直接在我的 Java 应用程序中登录到 splunk。

似乎没有什么会发生在 splunk 中,但是当我在 REST 客户端中手动发出 post 命令时,我会在 splunk 中看到我的数据。

我也无法让官方的 splunk logback 测试工作。

logback.xml

  <appender name="SPLUNK" class="com.splunk.logging.HttpEventCollectorLogbackAppender">
<url>http://mySplunkUrl:8088/services/collector</url>
<token>1234566789</token>
<disableCertificateValidation>true</disableCertificateValidation>
<batch_size_count>1</batch_size_count>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%msg</pattern>
</layout>
</appender>

<root level="trace">
<appender-ref ref="SPLUNK" />
</root>

</configuration>

单元测试

@Test
public void splunkLogger() {
Logger logger = LoggerFactory.getLogger(LogFactoryTest.class);
Date date = new Date();
String jsonMsg = String.format("{event:'CancerCenterTest'}");
logger.info("CancerCenterTest");
logger.info(jsonMsg);
}

这是我尝试使用的文档:http://dev.splunk.com/view/splunk-logging-java/SP-CAAAE7M

我是否遗漏了一些明显的东西?

编辑这是我的项目的链接 - https://github.com/toymachiner62/splunk-logging

最佳答案

问题似乎是单元测试 JVM 将在 Splunk 后台线程完成日志上传之前退出。

Splunk 的 Logback 适配器使用后台线程批量向服务器发送消息。批处理由 batch_intervalbatch_size_bytesbatch_size_count 参数控制。即使它们都设置为非常低的级别,单元测试 JVM 也可能会在完成之前退出并终止线程。

尝试在测试方法的末尾添加 sleep ,例如

Thread.sleep(5000);

此外,由于某些错误,发送可能会失败。这些可以通过添加以下代码片段来捕获 Splunk 发件人故障来显示:

HttpEventCollectorErrorHandler.onError(new HttpEventCollectorErrorHandler.ErrorCallback() {
public void error(final List<HttpEventCollectorEventInfo> events, final Exception ex) {
// FIXME: Dumping stack trace to STDERR is not suitable for production use !
ex.printStackTrace();
}
});

请注意 Splunk HttpEventCollectorSender似乎没有设置任何 HttpClient 超时,因此如果端点无法访问,连接可能需要几分钟时间才会超时并显示错误消息。

编辑:事实证明 logback.xml 中的 url 参数也存在问题。指定的 URL 必须不带路径,例如http://mySplunkUrl:8088/ 不是 http://mySplunkUrl:8088/services/collector

关于java - 尝试使用 logback 附加程序登录到 Splunk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40752749/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com