I am using Weblogic 116, Ejb3.0 , quartz-all 1.8.5.
I have issues with quartz when I am deleting the log4j jar from the lib directory of the server.
The reason I cant have log4j there (under lib) it’s because I want each deployment in Weblogic to have it’s own loggings. so each deployment has it’s own log4j jar.
Of coarse that If put back the log4j.jar to the server/lib dir then quartz work fine but then I cant have seperate logs for my deployments.
When I remove the log4j jar from lib this is the error I get from quartz:
java.lang.NoClassDefFoundError: org/apache/log4j/Level
at org.slf4j.impl.StaticLoggerBinder.(StaticLoggerBinder.java:83)
at org.slf4j.impl.StaticLoggerBinder.(StaticLoggerBinder.java:53)
at org.slf4j.LoggerFactory.bind(LoggerFactory.java:122)
at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:112)
at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:268)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:241)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:254)
..
A few options.
1) Deploy log4j.jar as a Shared Library or an Optional Package.
http://download.oracle.com/docs/cd/E21764_01/web.1111/e13706/libraries.htm#i1064674
Then reference log4j from your application. If your application is an EAR, then you can just reference it as a Shared Library from weblogic-application.xml with a library-ref element and when your application is deployed the log4j.jar gets added to APP-INF/lib of the EAR. If you have a WAR, then you can reference it as an Optional Package by modifying the META-INF/manifest.mf file:
Extension-List: log4jjar
log4jjar-Extension-Name: log4j
Where log4j is the name of the deployment of the Shared Library/Optional Package
2) Use filtering classloaders in your previously deployed apps.