I am trying to enable logging to HTTP Event Collector in the Java project with java.util.logging.
The code is very simple:
import java.util.logging.;
import com.splunk.logging.;
......................
Logger logger = Logger.getLogger("splunkLogger");
logger.info("This is a test event for Logback test");
And the property file (config/jdklogging.properties) is like this:
splunkLogger.level = INFO
splunkLogger.handlers = com.splunk.logging.HttpEventCollectorLoggingHandler
com.splunk.logging.HttpEventCollectorLoggingHandler.url = https://192.168.99.100:8088/services/collector
com.splunk.logging.HttpEventCollectorLoggingHandler.level = INFO
com.splunk.logging.HttpEventCollectorLoggingHandler.token = 00E4854F-53D4-4A1E-934C-EF5945DF790D
com.splunk.logging.HttpEventCollectorLoggingHandler.disableCertificateValidation=true
When I run the java code with -Djava.util.logging.config.file=config/jdklogging.properties , the error popped up:
Exception in thread "Timer-0" java.lang.NoSuchFieldError: DEFAULT
at org.apache.http.impl.nio.client.HttpAsyncClientBuilder.build(HttpAsyncClientBuilder.java:603)
at com.splunk.logging.HttpEventCollectorSender.startHttpClient(HttpEventCollectorSender.java:234)
at com.splunk.logging.HttpEventCollectorSender.postEvents(HttpEventCollectorSender.java:277)
at com.splunk.logging.HttpEventCollectorMiddleware.postEvents(HttpEventCollectorMiddleware.java:86)
at com.splunk.logging.HttpEventCollectorSender.postEventsAsync(HttpEventCollectorSender.java:256)
at com.splunk.logging.HttpEventCollectorSender.flush(HttpEventCollectorSender.java:152)
at com.splunk.logging.HttpEventCollectorSender.run(HttpEventCollectorSender.java:175)
at java.util.TimerThread.mainLoop(Unknown Source)
PS:
I could send the log to splunk http event collector by the following commands:
curl -k -H "Authorization: Splunk 00E4854F-53D4-4A1E-934C-EF5945DF790D" https
://xxx.xxx.xx.xxx:8088/services/collector/event -d '{"event":"test splunk"}'
Could you please give me help on this? Thank you very much!
... View more