I am trying to integrate splunk into my project.
Currently, I have the following .properties file:
mySplunk.level = INFO
mySplunk.handlers = com.splunk.logging.HttpEventCollectorLoggingHandler
# Configure the com.splunk.logging.HttpEventCollectorLoggingHandler
com.splunk.logging.HttpEventCollectorLoggingHandler.url = myUrl
com.splunk.logging.HttpEventCollectorLoggingHandler.level = INFO
com.splunk.logging.HttpEventCollectorLoggingHandler.token = myToken
com.splunk.logging.HttpEventCollectorLoggingHandler.source= mySource
com.splunk.logging.HttpEventCollectorLoggingHandler.disableCertificateValidation=true
Note: url and token are not put into this file but are available and the access is grated.
My SplunkTestLogger.java
import java.util.logging.Logger;
import java.util.logging.Level;
public class Main {
public static void main(String[] args) {
Logger logger = Logger.getLogger("mySplunk");
try{
FileInputStream fis = new FileInputStream("C\\User\\myUser\\logging.properties");
LogManager.getLogManager().readConfiguration(fis);
log.setLevel(LEVEL.INFO);
log.addHandler(new java.util.logging.consoleHandler());
log.setUseParentHandlers(false);
log.info("starting myApp");
fis.close();
} catch (Exception e) {
logger.log(Level.SEVERE, "Exception occurred", e);
}
}
}
This class is not able to send any log messages to splunk. Why?
I already tried to connect and send events manually with
URL url = new URL(SPLUNK_HEC_URL + "/services/collector/event");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Authorization", "Splunk " + SPLUNK_HEC_TOKEN);
connection.setDoOutput(true);
//....
and it was successful. but I want to make it work with the .properties approach.
That level of JAVA support typically is beyond the Splunk community board. These answer posts tend to focus on Splunk configurations.