- - PR -
struts tomcat log4j
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2004-04-01 19:04
お世話になります。
Windows2000、J2SE1.4.2_01、J2EE1.3、Strut1.1、Tomcat4.1.30 を使用して開発を行っているのですが、障害無く動作しているWebアプリで log4jを使用してログを出したいと思い、 TOMCAT_HOME/webapps/struts_test/WEB-INF/lib/ の下にlog4j-1.2.8.jarを置いたところ、JasperExceptionが発生する ようになってしまって困っています。 Strutsはログにcommons-loggingを使用しているのでlog4jが 使用できると思ったのですが、どうすればよいでしょうか? |
|
投稿日時: 2004-04-01 19:47
Log4J の設定ファイルも置かなければログは出ないと思います。
それと、何をすると JasperException が発生して、その詳細は ? |
|
投稿日時: 2004-04-02 11:12
libにlogg4J.jarを置いても指定しないと使用できないはずです。
ExceptionがLog4J.jarのせいだとすると、 commmons-loggingがJDKのlogパッケージと、 log4Jのどちらを使用するかで、迷ってるんじゃないでしょうか。 classpathが通っている場所に commons-logging.properties log4j.properties を置いてください。 |
|
投稿日時: 2004-04-07 18:34
返信が遅くなってすいませんです。
はしもとさん:引用: -------------------------------------------------------------- それと、何をすると JasperException が発生して、その詳細は ? -------------------------------------------------------------------------------- ブラウザでJSPにアクセスをすると画面にスタックトレースが出力されます。以下がその内容です。 スタックトレース-------------------------------------------------------------- org.apache.jasper.JasperException at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) at java.lang.Thread.run(Thread.java:534) root cause javax.servlet.ServletException at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:536) at org.apache.jsp.login_jsp._jspService(login_jsp.java:86) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) at java.lang.Thread.run(Thread.java:534) -------------------------------------------------------------------------------- itiさん:引用: ------------------------------------------------------------------ classpathが通っている場所に commons-logging.properties log4j.properties を置いてください。 -------------------------------------------------------------------------------- commons-logging.propertiesに以下の設定をして org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger 本などを見て、以下のようにおきました。 TOMCAT_HOME/webapps/struts_test/WEB-INF/lib/の下にlog4j.jar TOMCAT_HOME/webapps/struts_test/WEB-INF/classes/の下にlog4j.properties TOMCAT_HOME/webapps/struts_test/WEB-INF/classes/の下にcommons-logging.properties ですが設定が反映されず、例外が発生しました。 前にTomcatの4.1.27で試したのですが、そのときも 同様の状況となり、本などを参考に TOMCAT_HOME/commons/lib/の下にlog4j.jar TOMCAT_HOME/commons/classesの下にlog4j.propertiesを 置くと、設定が反映されました。 今回の環境で、同様の場所に置くと Tomcatの起動時に例外が発生して起動しなくなってしまいました。 TomcatのバージョンでStruts、commons-logging、log4jとの 相性みたいのがあるのでしょうか? |
|
投稿日時: 2004-04-08 10:07
ちなみに、ほかのexample(struts-example)などでlog4jを
同じ構成同じ設定ファイルを使用した場合 どのような結果が出ますか? login_jsp.java:86が少し気になりますが。。。 |
|
投稿日時: 2004-04-08 14:32
解決いたしました。
原因は%JAVA_HOME%\jre\lib\extの下に置いてあったcommons-logging.jarのためでした。 ご迷惑をおかけしました。 |
1
