Skip to content
This repository was archived by the owner on Jun 29, 2023. It is now read-only.
This repository was archived by the owner on Jun 29, 2023. It is now read-only.

Could not initialize class biz.paluch.logging.RuntimeContainer #11

@remmelt

Description

@remmelt

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)

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions