Frage/Problem bei Log4J

Chris2610

Grünschnabel
Hallo,

ich hoffe mal, dass ich das richtige Unterforum erwischt habe:

Ich habe folgendes Problem: Ich habe eine jsp-Seite entwickelt (bzw. die Seite wurde von jemandem entwickelt), in der noch jede Menge "e.printStackTrace()" drin sind. Diese Meldungen sollen durch Log4J in eine Textdatei geschrieben werden.

Mein Code dazu sieht so aus:

Code:
	import org.apache.log4j.*;
private static Logger logger = Logger.getRootLogger();

	/**
	 * Konstuktor Öffnen der Datenbank verbindung
	 */
	public Verbindung()
	{
		try {
			SimpleLayout layout = new SimpleLayout();
			FileAppender fileAppender = new FileAppender(layout, "H:\\logging.log");
			logger.addAppender(fileAppender);
			logger.setLevel(Level.ALL);
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		
		logger.info("Meine Info-Meldung");  usw....

Nun, wenn ich die jsp-Seite aufrufe, steht dort folgendes:

Error 500: org.apache.log4j.Layout

Kann damit jemand etwas anfangen, bzw. mir Tipps geben, was ich bei dem Log4J so alles machen muss? Bin leider nicht der fitteste auf dem Gebiet...

Schöne Grüße
Chris
 
Update zu meinem Problem:

Also: Ich habe jetzt die ganze Zeit hier weiter herumprobiert. Wenn ich alles von dem Log4J-"Gedöns" auskommentiere läuft alles einwandfrei. Sobald ich aber nur schon die Import-Zeile einkommentiere läuft gar nichts mehr, und ich muss sogar den Server neustarten, damit die JSP-Seite wieder einwandfrei läuft.

Hier sind mal die Fehlermeldungen, die kommen, wenn:

- ich nur die Zeile "Import..." einkommentiere:

- auf der JSP-Seite steht das:

Error 500: class loading constraint violated (class: org/apache/derby/client/am/DatabaseMetaData method: getClientInfoProperties()Lorg/apache/derby/client/am/ResultSet;) at pc: 0

- in der Konsole steht das:

[16.09.08 12:23:48:767 CEST] 00000024 ServletWrappe I SRVE0242I: [KalenderEAR] [/Kalender] [/_sw/Tagesueberblick.jsp]: Initialisierung erfolgreich.
[16.09.08 12:23:50:380 CEST] 00000024 ServletWrappe E SRVE0068E: Es wurde eine Ausnahme angefangen, die in einer der Servicemethoden des Servlet /_sw/Tagesueberblick.jsp ausgelöst wurde. Ausgelöste Ausnahme: javax.servlet.ServletException: class loading constraint violated (class: org/apache/derby/client/am/DatabaseMetaData method: getClientInfoProperties()Lorg/apache/derby/client/am/ResultSet;) at pc: 0
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:660)
at com.ibm._jsp._Tagesueberblick._jspService(_Tagesueberblick.java:131)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:85)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:115)
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:168)
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.handleRequest(AbstractJSPExtensionProcessor.java:270)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3129)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:238)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811)
at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:93)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213)
at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:194)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:741)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:863)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510)
---- Begin backtrace for Nested Throwables
java.lang.VerifyError: class loading constraint violated (class: org/apache/derby/client/am/DatabaseMetaData method: getClientInfoProperties()Lorg/apache/derby/client/am/ResultSet;) at pc: 0
at java.lang.J9VMInternals.verifyImpl(Native Method)
at java.lang.J9VMInternals.verify(J9VMInternals.java:59)
at java.lang.J9VMInternals.verify(J9VMInternals.java:57)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:120)
at org.apache.derby.client.net.ClientJDBCObjectFactoryImpl.newNetDatabaseMetaData(Unknown Source)
at org.apache.derby.client.net.NetConnection.newDatabaseMetaData_(Unknown Source)
at org.apache.derby.client.am.Connection.completeConnect(Unknown Source)
at org.apache.derby.client.net.NetConnection.completeConnect(Unknown Source)
at org.apache.derby.client.net.NetConnection.<init>(Unknown Source)
at org.apache.derby.client.net.ClientJDBCObjectFactoryImpl.newNetConnection(Unknown Source)
at org.apache.derby.jdbc.ClientDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:562)
at java.sql.DriverManager.getConnection(DriverManager.java:186)
at datenbank.Verbindung.<init>(Verbindung.java:81)
at datenbank.Abfragen.<init>(Abfragen.java:28)
at kalender.Kalender.<init>(Kalender.java:52)
at kalender.Kalender.<init>(Kalender.java:64)
at kalender.Kalender.<init>(Kalender.java:81)
at kalender.KalenderBean.<init>(KalenderBean.java:35)
at com.ibm._jsp._Tagesueberblick._jspService(_Tagesueberblick.java:95)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:85)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:115)
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:168)
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.handleRequest(AbstractJSPExtensionProcessor.java:270)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3129)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:238)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811)
at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:93)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213)
at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:194)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:741)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:863)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510)

[16.09.08 12:23:50:500 CEST] 00000024 ServiceLogger I com.ibm.ws.ffdc.IncidentStreamImpl initialize FFDC0009I: FFDC hat die Datenstromdatei C:\Program Files\RSA\runtimes\base_v61\profiles\AppSrv01\logs\ffdc\server1_5a125a12_08.09.16_12.23.50_0.txt für das Ereignis geöffnet.
[16.09.08 12:23:50:510 CEST] 00000024 ServiceLogger I com.ibm.ws.ffdc.IncidentStreamImpl resetIncidentStream FFDC0010I: FFDC hat die Datenstromdatei C:\Program Files\RSA\runtimes\base_v61\profiles\AppSrv01\logs\ffdc\server1_5a125a12_08.09.16_12.23.50_0.txt für das Ereignis geschlossen.
[16.09.08 12:23:50:510 CEST] 00000024 WebApp E [Servlet Error]-[/_sw/Tagesueberblick.jsp]: java.lang.VerifyError: class loading constraint violated (class: org/apache/derby/client/am/DatabaseMetaData method: getClientInfoProperties()Lorg/apache/derby/client/am/ResultSet;) at pc: 0
at java.lang.J9VMInternals.verifyImpl(Native Method)
at java.lang.J9VMInternals.verify(J9VMInternals.java:59)
at java.lang.J9VMInternals.verify(J9VMInternals.java:57)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:120)
at org.apache.derby.client.net.ClientJDBCObjectFactoryImpl.newNetDatabaseMetaData(Unknown Source)
at org.apache.derby.client.net.NetConnection.newDatabaseMetaData_(Unknown Source)
at org.apache.derby.client.am.Connection.completeConnect(Unknown Source)
at org.apache.derby.client.net.NetConnection.completeConnect(Unknown Source)
at org.apache.derby.client.net.NetConnection.<init>(Unknown Source)
at org.apache.derby.client.net.ClientJDBCObjectFactoryImpl.newNetConnection(Unknown Source)
at org.apache.derby.jdbc.ClientDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:562)
at java.sql.DriverManager.getConnection(DriverManager.java:186)
at datenbank.Verbindung.<init>(Verbindung.java:81)
at datenbank.Abfragen.<init>(Abfragen.java:28)
at kalender.Kalender.<init>(Kalender.java:52)
at kalender.Kalender.<init>(Kalender.java:64)
at kalender.Kalender.<init>(Kalender.java:81)
at kalender.KalenderBean.<init>(KalenderBean.java:35)
at com.ibm._jsp._Tagesueberblick._jspService(_Tagesueberblick.java:95)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:85)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:115)
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:168)
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.handleRequest(AbstractJSPExtensionProcessor.java:270)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3129)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:238)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811)
at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:93)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213)
at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:194)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:741)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:863)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510)
 
Dein Snippet geht bei mir. Ich habe folgende Imports verwendet:
Code:
import org.apache.log4j.FileAppender;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.SimpleLayout;

Dein servletcontainer braucht die log4j.jars (log4j-xxx.jar + evtl commons-logging-api.jar).
Wenn ein Bekanntmachen der jars nicht reicht, könntest du den zugehörigen Fehler aus dem servletengine-log posten.

log4j mit Tomcat howto: http://www.laliluna.de/log4j-tutorial_de.html
 
Danke für Ihre Antowrt.

Habe jetzt auch einfach nochmal alles von vorher einkommentiert, und in der jsp-Page steht schon wieder das mit "Error 500....".

Dies ist der Text aus der Konsole:

Code:
[16.09.08 12:45:06:370 CEST] 00000024 ServletWrappe I   SRVE0242I: [KalenderEAR] [/Kalender] [/_sw/Tagesueberblick.jsp]: Initialisierung erfolgreich.
[16.09.08 12:45:06:460 CEST] 00000024 ServletWrappe E   SRVE0068E: Es wurde eine Ausnahme angefangen, die in einer der Servicemethoden des Servlet /_sw/Tagesueberblick.jsp ausgelöst wurde. Ausgelöste Ausnahme: javax.servlet.ServletException: org.apache.log4j.Layout
	at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:660)
	at com.ibm._jsp._Tagesueberblick._jspService(_Tagesueberblick.java:131)
	at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:85)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
	at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
	at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:115)
	at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:168)
	at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.handleRequest(AbstractJSPExtensionProcessor.java:270)
	at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3129)
	at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:238)
	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811)
	at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433)
	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:93)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)
	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
	at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152)
	at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213)
	at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195)
	at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
	at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:194)
	at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:741)
	at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:863)
	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510)
---- Begin backtrace for Nested Throwables
java.lang.NoClassDefFoundError: org.apache.log4j.Layout
	at java.lang.J9VMInternals.verifyImpl(Native Method)
	at java.lang.J9VMInternals.verify(J9VMInternals.java:59)
	at java.lang.J9VMInternals.initialize(J9VMInternals.java:120)
	at datenbank.Abfragen.<init>(Abfragen.java:28)
	at kalender.Kalender.<init>(Kalender.java:52)
	at kalender.Kalender.<init>(Kalender.java:64)
	at kalender.Kalender.<init>(Kalender.java:81)
	at kalender.KalenderBean.<init>(KalenderBean.java:35)
	at com.ibm._jsp._Tagesueberblick._jspService(_Tagesueberblick.java:95)
	at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:85)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
	at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
	at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:115)
	at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:168)
	at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.handleRequest(AbstractJSPExtensionProcessor.java:270)
	at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3129)
	at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:238)
	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811)
	at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433)
	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:93)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)
	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
	at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152)
	at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213)
	at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195)
	at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
	at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:194)
	at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:741)
	at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:863)
	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510)

[16.09.08 12:45:06:510 CEST] 00000024 WebApp        E   [Servlet Error]-[/_sw/Tagesueberblick.jsp]: java.lang.NoClassDefFoundError: org.apache.log4j.Layout
	at java.lang.J9VMInternals.verifyImpl(Native Method)
	at java.lang.J9VMInternals.verify(J9VMInternals.java:59)
	at java.lang.J9VMInternals.initialize(J9VMInternals.java:120)
	at datenbank.Abfragen.<init>(Abfragen.java:28)
	at kalender.Kalender.<init>(Kalender.java:52)
	at kalender.Kalender.<init>(Kalender.java:64)
	at kalender.Kalender.<init>(Kalender.java:81)
	at kalender.KalenderBean.<init>(KalenderBean.java:35)
	at com.ibm._jsp._Tagesueberblick._jspService(_Tagesueberblick.java:95)
	at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:85)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
	at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
	at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:115)
	at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:168)
	at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.handleRequest(AbstractJSPExtensionProcessor.java:270)
	at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3129)
	at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:238)
	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811)
	at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433)
	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:93)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)
	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
	at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152)
	at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213)
	at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195)
	at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
	at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:194)
	at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:741)
	at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:863)
	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510)

Die Log4J.jar habe ich auch unter BuildPath eingebunden. Muss ich das noch irgendwo/irgendwie machen? Wo bekomme ich die CommonLoggingApi.jar her? Müsste ich die auch so einbinden, wie die Log4J.jar? Wo finde ich das servletengine-log ?

Sorry für die Fragen, aber habe nicht so viel Ahnung auf dem Gebiet.

Vielen Dank schonmal und schöne Grüße
 
Da die erste Exception eine ClassNotFound ist, vermute ich, das log4j.jar ist noch nicht richtig eingebunden. org.apache.log4j.Layout ist aus log4j.jar. Wahrscheinlich reicht es das log4j.jar einzubinden.

Eine mögliche Position die Tomcat im classpath hat ist TOMCAT_HOME/common/lib

edit: commons-logging-api ist eine Abstraktionsschicht für log-Implementationen wie log4j. In vielen Programmen wird die commons-logging-api statt der direkten log4j-api verwendet. Für deine logstatements reicht allerdings das log4j.jar.
 
Zuletzt bearbeitet:
Hmm, dabei habe ich sie in meinem Eclipse unter "Build Path" eingebunden (siehe Bild). Habe echt keine Ahnung, was ich wie und wo machen muss, damit dieses Ding läuft :-/

Muss ich denn auch irgendwo im Eclipse noch eine Variable adden?
 

Anhänge

  • Log4JJar.JPG
    Log4JJar.JPG
    59,6 KB · Aufrufe: 52
Es gibt zwar plugins, die eine Menge Tomcat-Konfigurations-Arbeiten übernehmen und deployen, diese habe ich allerdings noch nicht getestet. Im Prinzip hat der buildpath in eclipse nichts mit Tomcat zu tun, wenn du nicht ein plugin hast, was genau die Verbindung herstellt.

Deswegen würde ich per Hand das log4j.jar in den tomcat classpath bringen, z.B. ins Verzeichniss TOMCAT_HOME/common/lib

edit: in deinem screenshot könntest du auch im Kartenreiter "Order und Export" das log4j.jar anhaken. Bei einem export zu war würde dann das log4j.jar mitexportiert und als Teil des wars deployed. Sowas würde man aber nicht für Bibliotheken von allgemeinem Interesse wie log4j machen, sondern eher mit anwendungsspezifischen thirdparty-jars.
 
Zuletzt bearbeitet:
Ich fürchte ich muss es aufgeben. - ich bin wohl einfach zu dämlich...

Ich glaube ich verwende nämlich hier gar nichts mit Tomcat.... :confused:
Der Server auf dem das Projekt im Moment läuft ist der WebsphereApplicationServer. Ich wüsste auch gar nicht, wo man für Tomcat (oder sonst wo) diese Classpathes adden kann/muss. :-(
 
Danke schön nochmal :)

Das macht Mut ;-)

Wo finde ich denn dieses Verzeichnis? "AppServerInstallDir\lib\ext"? In meinem Workspace, oder Projektordner? Keinen blassen Schimmer :-/

Wäre cool, wenn mir das jemand genau beschreiben könnte.

Werde mich dann morgen früh wieder melden, da ich jetzt zu einem Termin bin.

Schöne Grüße und schonmal Danke!
 
Zurück