ERLEDIGT
NEIN
NEIN
ANTWORTEN
15
15
ZUGRIFFE
1005
1005
EMPFEHLEN
-
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 :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
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:11 5)
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtension ServletWrapper.java:168)
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.handleRequest(AbstractJSPExtensionProce ssor.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:11 5)
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtension ServletWrapper.java:168)
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.handleRequest(AbstractJSPExtensionProce ssor.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:11 5)
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtension ServletWrapper.java:168)
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.handleRequest(AbstractJSPExtensionProce ssor.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:29 #3
Dein Snippet geht bei mir. Ich habe folgende Imports verwendet:
Code :1 2 3 4
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.htmlDenken gefärdet die Gewohnheit
-
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 :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
[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
-
16.09.08 13:20 #5
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.Geändert von Franz Degenhardt (16.09.08 um 13:25 Uhr)
Denken gefärdet die Gewohnheit
-
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?
-
16.09.08 13:36 #7
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.Geändert von Franz Degenhardt (16.09.08 um 13:41 Uhr)
Denken gefärdet die Gewohnheit
-
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....
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.
-
16.09.08 13:56 #9
Das klappt schon noch auch mit dem websphere appserver. Dort ist das Laden von Klassen etwas strukturierter und gekapselter.
Du kannst allerdings einfach das log4j.jar in einen der "lib-paths" legen, die Teil des classpaths sind. Das ist beim appserver z.B. AppServerInstallDir\lib\ext
Die Informationsquelle zu WebSphere Applikation Server 6.1:
http://publib.boulder.ibm.com/infoce...v6r1/index.jspDenken gefärdet die Gewohnheit
-
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!
-
16.09.08 14:17 #11
Eclipse und auf Eclipse basierende Toolings haben erstmal nichts mit Server Laufzeitumgebungen zu tun. D.h. die Laufzeitumgebungen wie WebSphere Application Server (kommerziell) oder Tomcat (opensource) müssen seperat verwaltet werden.
Diverse Plugins und Aufsätze auf Eclipse interagieren auch mit den Laufzeitumgebungen, z.B. deployen, Basisverwaltung dies ist dann aber in der Verantwortlichkeit des Pluginherstellers und ist generell problematisch, wegen vielen Verschiedenen Laufzeitumgebungen und sich ändernden Versionen.
Was immer geht ist ein seperater Betrieb von Entwicklungswerkzeugen und Laufzeitumgebungen, so sieht es in produktiven Umgebungen eh aus. D.h. entwickeln, dann exportieren, dann auf Server deployen.
TLDNR:
Das Verzeichniss für das log4j.ar findest du dort, wo der WebSphere Application Server installiert ist im Dateisystem.
Quick&Dirty Alternative:
Deployen aus eclipse scheint ja zu klappen. Teste doch mal den Ansatz von oben:
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 jars.Denken gefärdet die Gewohnheit
-
Servus,
so, habe jetzt über den Server das "Administrative Script" ausgeführt. Dort wollte ich unter Classpath die Log4J.jar einbinden. Na gut, was heißt "wollte". Ich habe sie eingebunden. Wenn ich allerdings das Script wieder verlasse, dann ist die Jar-Datei nicht mehr drin. Was is das denn nu?
Habe mal den Screenshot vom Administrative Script eingefügt...
-
17.09.08 13:24 #13
Der Screenshot ist aus der scripting-Schnittstelle zum WAS. Alternativ zu der Adminconsole kann man damit über bestehende scripts (Jython, Jacl) den WAS konfigurieren. Der classpath Kartenreiter aus dem screenshot bezieht sich auf die Umgebung des verwendeten Scripts, nicht auf den Server classpath.
Wie man damit ein Jar einbindet müsste ich nachschlagen.
Ich gehe davon aus, du verwendest den Websphere Integration Developer (WID). Wesentlich leichter ist dann:
Im WID in der Server view den Server rechtsklicken, "run adminstrative console" auswählen. Die Adminconsole sollte in einem Browser aufgehen.
Dort unter "Umgebung" die Option "Gemeinsame Bibliotheken" auswählen.
Mithilfe von "Neu" die log4j lib anlegen.
Alternativen:
Die Anwendung incl. des log4j.jar als Teil des wars deployen s.o.
Das Jar per Hand in einen lib-Ordner des Servers legen z.B. WAS_ROOT/lib/extDenken gefärdet die Gewohnheit
-
Guter Tipp

Ich verwende den RSA, der dürfte ähnlich zu dem von dir beschriebenen Tool sein, denn bei mir gibts die Dinge auch, von denen du gesprochen hast.
Habe jetzt mal versucht das so anzulegen, allerdings taucht immer noch ein Fehler auf, sobald ich nur die Log4J Sachen im Code importieren will.
Deshalb vermute ich mal ,dass ich evtl. etwas falsch beim Anlegen der Jar gemacht habe? Habe davon mal einen Screenshot gemacht:
-
17.09.08 13:56 #15
Ja, RSA und WID haben viel gemeinsam.
Die Pfadangaben zu deinem Jar dürfen keine Backslashes enthalten, stattdessen den normalen slash "/" verwenden. Pfade dort werden optimalerweise mithilfe von bestehenden Variablen (definiert unter WebSphere-Variables) aufgebaut. z.B. ${WAS_INSTALL_ROOT}/meineLibs/log4j.jar oder
${MEINE_LIBS}/log4j.jar
Die verwendeten Variablen müssen dann noch erzeugt bzw richtig belegt werden (unter WebSphere-Variables) auch dort keine Backslashes verwenden.
Mit der Variante müssen allerdings alle Server wo die Anwendung laufen soll diese Variablen definieren, im Gegensatz zu der "deploy war incl. jar"-Variante.Denken gefärdet die Gewohnheit
Ähnliche Themen
-
Problem mit Log4J
Von ManuelHegemann im Forum Java GrundlagenAntworten: 2Letzter Beitrag: 01.09.10, 10:23 -
Frage zu Log4J
Von Chris2610 im Forum JavaAntworten: 7Letzter Beitrag: 15.04.09, 14:12 -
Log4j: Pfad zur log4j.xml explizit angeben - DOMConfigurator.configure()
Von Kryptaesthesie im Forum JavaAntworten: 8Letzter Beitrag: 13.02.09, 08:26 -
Problem mit log4j
Von kaMii im Forum JavaAntworten: 0Letzter Beitrag: 21.09.07, 11:09 -
Log4J-Frage
Von tklein22000 im Forum JavaAntworten: 9Letzter Beitrag: 07.08.07, 13:37





Zitieren
Login





