-
Notifications
You must be signed in to change notification settings - Fork 108
Could not initialize class biz.paluch.logging.RuntimeContainer #11
Description
Hi!
I'm facing a problem when deploying to Tomcat (7.0.42).
Both json-simple-1.1.jar and logstash-gelf-1.3.0.jar are in {tomcat home}/endorsed.
When I start tomcat, catalina.out gives a NoClassDefFoundError for RuntimeContainer, see below for stack trace.
Uncommenting "biz.paluch.logging.gelf.jul.GelfLogHandler.originHost=remmelt" in the logging.properties makes it work.
I do not want to do this because the end result of my tests should be this same configuration running on Glassfish4, where the domain admin server distributes the logging.properties file to all its nodes without the ability to edit it per node.
I've copied the RuntimeContainer class to a hello world war, included it in a simple servlet and called log.debug(RuntimeContainer.FQDN_HOSTNAME);
This works well and outputs my machine's hostname.
I'm running OSX 10.9.2.
conf/logging.properties:
#handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
#.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
handlers = biz.paluch.logging.gelf.jul.GelfLogHandler, java.util.logging.ConsoleHandler
.handlers = biz.paluch.logging.gelf.jul.GelfLogHandler, java.util.logging.ConsoleHandler
.level = INFO
biz.paluch.logging.gelf.jul.GelfLogHandler.host=udp:localhost
#biz.paluch.logging.gelf.jul.GelfLogHandler.originHost=remmelt
biz.paluch.logging.gelf.jul.GelfLogHandler.port=12201
biz.paluch.logging.gelf.jul.GelfLogHandler.level=INFO
com.remmelt.level=FINEST
# ... snip ... rest of the file is standard as packaged with tomcat
java.lang.NoClassDefFoundError: Could not initialize class biz.paluch.logging.RuntimeContainer
at biz.paluch.logging.gelf.GelfMessageAssembler.getOriginHost(GelfMessageAssembler.java:201)
at biz.paluch.logging.gelf.GelfMessageAssembler.getValues(GelfMessageAssembler.java:141)
at biz.paluch.logging.gelf.GelfMessageAssembler.createGelfMessage(GelfMessageAssembler.java:89)
at biz.paluch.logging.gelf.jul.GelfLogHandler.createGelfMessage(GelfLogHandler.java:129)
at biz.paluch.logging.gelf.jul.GelfLogHandler.publish(GelfLogHandler.java:102)
at java.util.logging.Logger.log(Logger.java:610)
at java.util.logging.Logger.doLog(Logger.java:631)
at java.util.logging.Logger.logp(Logger.java:831)
at org.apache.juli.logging.DirectJDKLog.log(DirectJDKLog.java:185)
at org.apache.juli.logging.DirectJDKLog.error(DirectJDKLog.java:151)
at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1281)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509)
at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:182)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1342)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2770)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1537)
at org.apache.catalina.startup.Catalina.load(Catalina.java:617)
at org.apache.catalina.startup.Catalina.load(Catalina.java:665)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)