質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.23%

Java Eclipse WebサービスのエラーログをEclipseコンソールに出力

受付中

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 3,517

shimpei

score 13

Java素人なので、教えて下さい。 

Java EclipseからTomcat8を起動して、エラーが発生した場合、Eclipseのコンソールおよび、ログ設定ファイルLog4j.xmlで設定した「C:\applog\error.log」に出力したいのですが、出力されません。

開発していく上で、ログがでないと、何が悪いかわからないので、
Eclipseコンソールおよび、log4j.xmlで設定しているエラーログファイル「C:\applog\error.log」に出力させる方法を教えて下さい。

■同じような事象でいうと、下記の様な状態です。(私の説明が分かり辛いかと思って、載せました)
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=30182&forum=12

以下、情報
■ツールバージョン
・Java Eclipse4.5
・Apache Tomcat/8.0.30

<Eclipse>
■log4j.xmlの抜粋(出力先ファイルを "applog/error.log"に指定しています)

<?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
 <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

 <appender name="console" class="org.apache.log4j.ConsoleAppender">
 <layout class="org.apache.log4j.EnhancedPatternLayout">
 <param name="ConversionPattern" value="%d{yyyy-MMM-dd HH:mm:ss}{Asia/Tokyo} %-5p %t %m%n" />
 </layout>
 </appender>
 <appender name="rolling" class="org.apache.log4j.RollingFileAppender" >
 <param name="File" value="/applog/error.log" />
 <param name="Append" value="true" />
 <param name="MaxFileSize" value="10MB" />
 <param name="MaxBackupIndex" value="10" />
 <layout class="org.apache.log4j.EnhancedPatternLayout">
 <param name="ConversionPattern" value="%d{yyyy-MMM-dd HH:mm:ss}{Asia/Tokyo} %5p %c{1} - %m%n" />
 </layout>
 </appender>


■実行構成(Apache Tomcat)
VM引数:-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager

<実施したこと>
1.EclipseからTomcat起動
2.ローカルからWebサービス起動「http://localhost:8080/mcloud-service/loginService/login.do」
※エラーを発生させるため、ユーザーID・パスワード入力なしで、いきなりログイン後の画面にアクセスしています。
3.EclipseコンソールおよびEclipseのlog4j.xml「C:\applog\error.log」には下記のTomcat起動、エラー発生までしか出力されず、エラーの詳細が出力されない。
周囲の方は同じソースコードでちゃんとエラー詳細が出力されているので、ソースの問題ではなく、設定の問題だと考えているのですが。。

■以下、Eclipseログ詳細

情報: Server version:        Apache Tomcat/8.0.30 [木 5 25 10:19:42 JST 2017]
情報: Server built:          Dec 1 2015 22:30:46 UTC [木 5 25 10:19:42 JST 2017]
情報: Server number:         8.0.30.0 [木 5 25 10:19:42 JST 2017]
情報: OS Name:               Windows 10 [木 5 25 10:19:42 JST 2017]
情報: OS Version:            10.0 [木 5 25 10:19:42 JST 2017]
情報: Architecture:          amd64 [木 5 25 10:19:42 JST 2017]
情報: Java Home:             C:\typical\eclipse4.5\java\8\jre [木 5 25 10:19:42 JST 2017]
情報: JVM Version:           1.8.0_60-b27 [木 5 25 10:19:42 JST 2017]
情報: JVM Vendor:            Oracle Corporation [木 5 25 10:19:42 JST 2017]
情報: CATALINA_BASE:         C:\typical\Tomcat8 [木 5 25 10:19:42 JST 2017]
情報: CATALINA_HOME:         C:\typical\Tomcat8 [木 5 25 10:19:42 JST 2017]
情報: Command line argument: -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:59805 [木 5 25 10:19:42 JST 2017]
情報: Command line argument: -Dcatalina.home=C:\typical\tomcat8 [木 5 25 10:19:42 JST 2017]
情報: Command line argument: -Djava.endorsed.dirs=C:\typical\tomcat8\endorsed [木 5 25 10:19:42 JST 2017]
情報: Command line argument: -Dcatalina.base=C:\typical\tomcat8 [木 5 25 10:19:42 JST 2017]
情報: Command line argument: -Djava.io.tmpdir=C:\typical\tomcat8\temp [木 5 25 10:19:42 JST 2017]
情報: Command line argument: -Dfile.encoding=UTF-8 [木 5 25 10:19:42 JST 2017]
情報: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\typical\eclipse4.5\java\8\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\typical\eclipse4.5\java\8\jre\bin;C:/typical/eclipse4.5/eclipse/jre/bin/../jre/bin/server;C:/typical/eclipse4.5/eclipse/jre/bin/../jre/bin;C:/typical/eclipse4.5/eclipse/jre/bin/../jre/lib/amd64;;C:\apache-maven-3.2.5;C:\Program Files\Amazon\AWSCLI\;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\typical\eclipse4.5\eclipse;;. [木 5 25 10:19:42 JST 2017]
情報: Initializing ProtocolHandler ["http-nio-8080"] [木 5 25 10:19:43 JST 2017]
情報: Using a shared selector for servlet write/read [木 5 25 10:19:43 JST 2017]
情報: Initializing ProtocolHandler ["ajp-nio-8009"] [木 5 25 10:19:43 JST 2017]
情報: Using a shared selector for servlet write/read [木 5 25 10:19:43 JST 2017]
情報: Initialization processed in 1893 ms [木 5 25 10:19:43 JST 2017]
情報: サービス Catalina を起動します [木 5 25 10:19:43 JST 2017]
情報: Starting Servlet Engine: Apache Tomcat/8.0.30 [木 5 25 10:19:43 JST 2017]
情報: Webアプリケーションアーカイブ C:\typical\Tomcat8\webapps\mcloud-service.war を配備します [木 5 25 10:19:43 JST 2017]
情報: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. [木 5 25 10:19:50 JST 2017]
情報: Initializing Spring root WebApplicationContext [木 5 25 01:19:51 UTC 2017]
情報: Set web app root system property: 'webapp.root' = [C:\typical\Tomcat8\webapps\mcloud-service\] [木 5 25 01:20:12 UTC 2017]
情報: Initializing log4j from [C:\typical\Tomcat8\webapps\mcloud-service\WEB-INF\classes\log4j.xml] [木 5 25 01:20:12 UTC 2017]
情報: Deployment of web application archive C:\typical\Tomcat8\webapps\mcloud-service.war has finished in 29,201 ms [木 5 25 01:20:12 UTC 2017]
情報: Webアプリケーションディレクトリ C:\typical\Tomcat8\webapps\docs を配備します [木 5 25 01:20:12 UTC 2017]
情報: Deployment of web application directory C:\typical\Tomcat8\webapps\docs has finished in 109 ms [木 5 25 01:20:13 UTC 2017]
情報: Webアプリケーションディレクトリ C:\typical\Tomcat8\webapps\flex を配備します [木 5 25 01:20:13 UTC 2017]
情報: Deployment of web application directory C:\typical\Tomcat8\webapps\flex has finished in 49 ms [木 5 25 01:20:13 UTC 2017]
情報: Webアプリケーションディレクトリ C:\typical\Tomcat8\webapps\manager を配備します [木 5 25 01:20:13 UTC 2017]
情報: Deployment of web application directory C:\typical\Tomcat8\webapps\manager has finished in 100 ms [木 5 25 01:20:13 UTC 2017]
情報: Webアプリケーションディレクトリ C:\typical\Tomcat8\webapps\ROOT を配備します [木 5 25 01:20:13 UTC 2017]
情報: Deployment of web application directory C:\typical\Tomcat8\webapps\ROOT has finished in 44 ms [木 5 25 01:20:13 UTC 2017]
情報: Starting ProtocolHandler ["http-nio-8080"] [木 5 25 01:20:13 UTC 2017]
情報: Starting ProtocolHandler ["ajp-nio-8009"] [木 5 25 01:20:13 UTC 2017]
情報: Server startup in 29659 ms [木 5 25 01:20:13 UTC 2017]
重大: サーブレット serviceServlet のServlet.service()が例外を投げました [木 5 25 01:22:05 UTC 2017]

<実現したい事>
Eclipse「log4j.xml」で設定している様に、Tomcatに投げて発生したログをEclipseコンソールに表示させたいです。
※Tomcatの起動時のログまではEclipseのコンソールには表示されますが、「C:\applog\error.log」には出力されません。

Java触り始めて、数日の素人なので、分かり易く教えて頂けると幸いです。
また、回答する上で、必要な情報があれば、ご教授下さい。 

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

0

root設定に2つのログ設定を記述すると出力されるでしょうか。

Qiita:log4j.xml書き方メモ

具体的には <root> をlog4j.xmlに追記します。

<root>
    <appender-ref ref="console"/>
    <appender-ref ref="rolling"/>
</root>

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/05/26 10:37

    確認してみます。
    ちなみに、Eclipse や、Tomcatの設定等で確認すべき箇所などはありますでしょうか?

    キャンセル

  • 2017/05/26 14:32

    Tomcatのログ出力で気になるところといえば、VM引数:-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager を指定していますので、おそらくですが、次のサイトの設定をしているように思えます。http://www.deftrash.com/blog/archives/2008/06/tomcat6_log4j.html | tomcat6 のログ出力を Log4j で行う方法。ここでは tomcat-juli.jar と tomcat-juli-adapters.jarを別途導入していますので、これらがTomcatに導入済みであるかを確認した方が良いでしょう。

    キャンセル

  • 2017/05/26 19:32

    試したのですが、改善できませんでした。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.23%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る