I am trying to report an error with the Bug4J library. According to their website you should insert inside your log4j.xml file the following directives:
<appender name="bug4j" class="org.bug4j.client.Bug4jAppender">
<param name="serverUrl" value="http://<bug4j.host.name>:8063/"/>
<param name="applicationName" value="My Application"/>
<param name="applicationVersion" value="1.3"/>
</appender>
I am trying to set the same parameters without a property file however no error is reported in the web console on localhost:8063, so far I tried the following:
public TestClass
{
static Logger log = Logger.getLogger(TestClass.class);
TestClass()
{
BasicConfigurator.configure();
Logger.getRootLogger().setLevel(Level.INFO);
Bug4jAppender bug4jAppender = new Bug4jAppender();
bug4jAppender.setName("BUG4J");
bug4jAppender.setServerUrl("http://localhost:8063/");
bug4jAppender.setApplicationName("testapp");
bug4jAppender.setApplicationVersion("1.9");
Logger.getRootLogger().addAppender(bug4jAppender);
log.addAppender(bug4jAppender);
Bug4jAgent.report("Failed to do something", null);
log.info("Failed to do something");
}
}
Any ideas please?
EDIT: Might be related to why nothing is actually reported, if I add:
BasicConfigurator.configure();
Logger.getRootLogger().setLevel(Level.INFO);
Bug4jAppender bug4jAppender = new Bug4jAppender();
bug4jAppender.setName("BUG4J");
bug4jAppender.setServerUrl("http://127.0.0.1:8063/");
bug4jAppender.setApplicationName("testapp");
bug4jAppender.setApplicationVersion("1.9");
bug4jAppender.activateOptions();
Logger.getRootLogger().addAppender(bug4jAppender);
//Bug4jAgent.report("Failed to do something", null);
log.warn("Failed to do something");
Bug4jAgent.shutdown();
I get
Exception in thread "main" java.lang.NullPointerException
at org.bug4j.client.Bug4jAppender.append(Bug4jAppender.java:48)
at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)
at org.apache.log4j.Category.callAppenders(Category.java:206)
at org.apache.log4j.Category.forcedLog(Category.java:391)
at org.apache.log4j.Category.warn(Category.java:1043)
at testapp.Main.<init>(Main.java:118)
at testapp.Main.main(Main.java:837)