Splunk HttpEventCollectorLogbackAppender如何设置源和主机?

Cat*_*ish 8 java logback splunk

我正在使用Splunk HttpEventCollectorLogbackAppender自动将应用程序日志发送到Splunk.我一直在尝试设置主机,源和源类型,但是没有运气将它们发送到Splunk.

是否可以使用Splunk HttpEventCollectorLogbackAppender设置主机,源或源类型,如果是,我该如何操作?

我一直在尝试发送JSON,它似乎没有工作.

这里的文档告诉你哪些选项可用,它说它们需要作为查询字符串传递,但由于我使用开箱即用的Splunk appender,我不知道如何设置它们.

http://dev.splunk.com/view/event-collector/SP-CAAAE6P

Splunk logback appender:

...
<!-- SPLUNK appender -->
  <appender name="SPLUNK" class="com.splunk.logging.HttpEventCollectorLogbackAppender">
    <url>http://myurl:8088</url>
    <token>mytoken</token>
    <disableCertificateValidation>true</disableCertificateValidation>
    <batch_size_count>1</batch_size_count>
    <layout class="ch.qos.logback.classic.PatternLayout">
      <pattern>%logger: %msg%n</pattern>
    </layout>
  </appender>

<root level="INFO">
  <appender-ref ref="SPLUNK"/>
</root>
...
Run Code Online (Sandbox Code Playgroud)

示例日志行

Logger logger = LoggerFactory.getLogger(MyClass.class);
logger.debug("I'm logging debug stuff"); 
Run Code Online (Sandbox Code Playgroud)

rob*_*oby 5

HttpEventCollectorLogbackAppender上的任何设置器都可以添加到您的logback配置中。

因此,调用setHostsetSource然后setSourcetype将它们添加到您的登录配置中,如下所示:

<appender name="SPLUNK" class="com.splunk.logging.HttpEventCollectorLogbackAppender">
    <url>http://myurl:8088</url>
    <host>x</host>
    <source>y</source>
    <sourcetype>z</sourcetype>
    <token>mytoken</token>
    <disableCertificateValidation>true</disableCertificateValidation>
    <batch_size_count>1</batch_size_count>
    <layout class="ch.qos.logback.classic.PatternLayout">
        <pattern>%logger: %msg%n</pattern>
    </layout>
</appender>
Run Code Online (Sandbox Code Playgroud)