cancel
Showing results for 
Search instead for 
Did you mean: 

log4j problem

marco_ballarini
Explorer
0 Kudos

Hi,

I've the following problem. I'm using a JDO library (JPOX, 1.1.5 version) in the SAP J2EE environment. I deployed it as a web service. The web service works well, the only problem is that JPOX is unable to log all his activities. Looking inside the trace files of the J2EE container it seems that JPOX is unable to find the log4j.properties file. But the strange thing is that the deployed jar contains the log4j.properties file and that it's at the right entry in the classpath. Following is the trace of the container:

log4j:ERROR Could not read configuration file from URL [jar:file:/F:/usr/sap/SJC/JC03/j2ee/cluster/server0/apps/sap.com/CrifShuttleWS/webservices_container/webservices/app_jars/CrifShuttleWS.jar!/log4j.properties].#

java.io.FileNotFoundException: JAR entry log4j.properties not found in F:
usr
sap
SJC
JC03
j2ee
cluster
server0
apps
sap.com
CrifShuttleWS
webservices_container
webservices
app_jars
CrifShuttleWS.jar#

at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:97)#

at sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:107)#

at java.net.URL.openStream(URL.java:913)#

at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:433)#

at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:468)#

at org.apache.log4j.LogManager.<clinit>(LogManager.java:122)#

at org.jpox.util.Log4JLogger.<init>(Log4JLogger.java:51)#

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)#

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)#

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)#

at java.lang.reflect.Constructor.newInstance(Constructor.java:274)#

at org.jpox.util.ClassUtils.newInstance(ClassUtils.java:73)#

at org.jpox.util.JPOXLogger.getLoggerInstance(JPOXLogger.java:138)#

at org.jpox.util.JPOXLogger.<clinit>(JPOXLogger.java:109)#

at org.jpox.util.ReferenceValueMap.get(ReferenceValueMap.java:201)#

at org.jpox.JDOClassLoaderResolver.classForName(JDOClassLoaderResolver.java:166)#

at org.jpox.plugin.PluginRegistryFactory.newInstance(PluginRegistryFactory.java:88)#

at org.jpox.plugin.PluginRegistryFactory.newPluginRegistry(PluginRegistryFactory.java:59)#

at org.jpox.plugin.PluginManager.<init>(PluginManager.java:46)#

at org.jpox.PMFContext.<init>(PMFContext.java:96)#

at org.jpox.AbstractPersistenceManagerFactory.<init>(AbstractPersistenceManagerFactory.java:115)#

at org.jpox.PersistenceManagerFactoryImpl.<init>(PersistenceManagerFactoryImpl.java:108)#

at org.jpox.PersistenceManagerFactoryImpl.getPersistenceManagerFactory(PersistenceManagerFactoryImpl.java:92)#

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)#

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)#

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)#

at java.lang.reflect.Method.invoke(Method.java:324)#

at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:534)#

at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:818)#

at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:786)#

at com.crif.shuttle.persistence.ShuttleManager.<init>(ShuttleManager.java:54)#

at com.crif.shuttle.persistence.ws.LoadData.<init>(LoadData.java:31)#

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)#

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)#

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)#

at java.lang.reflect.Constructor.newInstance(Constructor.java:274)#

at java.lang.Class.newInstance0(Class.java:308)#

at java.lang.Class.newInstance(Class.java:261)#

at com.sap.engine.services.webservices.runtime.JavaClassImplementationContainer.createImplementationInstance(JavaClassImplementationContainer.java:229)#

at com.sap.engine.services.webservices.runtime.JavaClassImplementationContainer.useStatelessInstance(JavaClassImplementationContainer.java:188)#

at com.sap.engine.services.webservices.runtime.JavaClassImplementationContainer.getInstance(JavaClassImplementationContainer.java:152)#

at com.sap.engine.services.webservices.runtime.JavaClassImplementationContainer.invokeMethod(JavaClassImplementationContainer.java:63)#

at com.sap.engine.services.webservices.runtime.RuntimeProcessor.process(RuntimeProcessor.java:157)#

at com.sap.engine.services.webservices.runtime.RuntimeProcessor.process(RuntimeProcessor.java:79)#

at com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPost(ServletDispatcherImpl.java:92)#

at SoapServlet.doPost(SoapServlet.java:51)#

at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)#

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)#

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)#

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)#

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)#

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)#

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)#

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)#

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)#

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)#

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)#

at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)#

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)#

at java.security.AccessController.doPrivileged(Native Method)#

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)#

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)#

log4j:ERROR Ignoring configuration file [jar:file:/F:/usr/sap/SJC/JC03/j2ee/cluster/server0/apps/sap.com/CrifShuttleWS/webservices_container/webservices/app_jars/CrifShuttleWS.jar!/log4j.properties].#

log4j:WARN No appenders could be found for logger (JPOX.General).#

log4j:WARN Please initialize the log4j system properly.#

thanks in advance for the help

dino

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi,

This Issue normally arises when it cannot find the log4j.properties in the classpath.

please put a valid log4j.properties in the classpath or with any java classes. so that the file is loaded when the JVM is started up.

<a href="http://www.vipan.com/htdocs/log4jhelp.html">tutorial regarding log4j</a>.

regards

Vivek Nidhi