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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

Q&A

1回答

8511閲覧

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

shimpei

総合スコア13

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

0グッド

0クリップ

投稿2017/05/25 01:41

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

1<?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 3 <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> 4 5 <appender name="console" class="org.apache.log4j.ConsoleAppender"> 6 <layout class="org.apache.log4j.EnhancedPatternLayout"> 7 <param name="ConversionPattern" value="%d{yyyy-MMM-dd HH:mm:ss}{Asia/Tokyo} %-5p %t %m%n" /> 8 </layout> 9 </appender> 10 <appender name="rolling" class="org.apache.log4j.RollingFileAppender" > 11 <param name="File" value="/applog/error.log" /> 12 <param name="Append" value="true" /> 13 <param name="MaxFileSize" value="10MB" /> 14 <param name="MaxBackupIndex" value="10" /> 15 <layout class="org.apache.log4j.EnhancedPatternLayout"> 16 <param name="ConversionPattern" value="%d{yyyy-MMM-dd HH:mm:ss}{Asia/Tokyo} %5p %c{1} - %m%n" /> 17 </layout> 18 </appender> 19

■実行構成(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ログ詳細

Log

1情報: Server version: Apache Tomcat/8.0.30 [木 5 25 10:19:42 JST 2017] 2情報: Server built: Dec 1 2015 22:30:46 UTC [木 5 25 10:19:42 JST 2017] 3情報: Server number: 8.0.30.0 [木 5 25 10:19:42 JST 2017] 4情報: OS Name: Windows 10 [木 5 25 10:19:42 JST 2017] 5情報: OS Version: 10.0 [木 5 25 10:19:42 JST 2017] 6情報: Architecture: amd64 [木 5 25 10:19:42 JST 2017] 7情報: Java Home: C:\typical\eclipse4.5\java\8\jre [木 5 25 10:19:42 JST 2017] 8情報: JVM Version: 1.8.0_60-b27 [木 5 25 10:19:42 JST 2017] 9情報: JVM Vendor: Oracle Corporation [木 5 25 10:19:42 JST 2017] 10情報: CATALINA_BASE: C:\typical\Tomcat8 [木 5 25 10:19:42 JST 2017] 11情報: CATALINA_HOME: C:\typical\Tomcat8 [木 5 25 10:19:42 JST 2017] 12情報: Command line argument: -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:59805 [木 5 25 10:19:42 JST 2017] 13情報: Command line argument: -Dcatalina.home=C:\typical\tomcat8 [木 5 25 10:19:42 JST 2017] 14情報: Command line argument: -Djava.endorsed.dirs=C:\typical\tomcat8\endorsed [木 5 25 10:19:42 JST 2017] 15情報: Command line argument: -Dcatalina.base=C:\typical\tomcat8 [木 5 25 10:19:42 JST 2017] 16情報: Command line argument: -Djava.io.tmpdir=C:\typical\tomcat8\temp [木 5 25 10:19:42 JST 2017] 17情報: Command line argument: -Dfile.encoding=UTF-8 [木 5 25 10:19:42 JST 2017] 18情報: 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] 19情報: Initializing ProtocolHandler ["http-nio-8080"] [木 5 25 10:19:43 JST 2017] 20情報: Using a shared selector for servlet write/read [木 5 25 10:19:43 JST 2017] 21情報: Initializing ProtocolHandler ["ajp-nio-8009"] [木 5 25 10:19:43 JST 2017] 22情報: Using a shared selector for servlet write/read [木 5 25 10:19:43 JST 2017] 23情報: Initialization processed in 1893 ms [木 5 25 10:19:43 JST 2017] 24情報: サービス Catalina を起動します [木 5 25 10:19:43 JST 2017] 25情報: Starting Servlet Engine: Apache Tomcat/8.0.30 [木 5 25 10:19:43 JST 2017] 26情報: Webアプリケーションアーカイブ C:\typical\Tomcat8\webapps\mcloud-service.war を配備します [木 5 25 10:19:43 JST 2017] 27情報: 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] 28情報: Initializing Spring root WebApplicationContext [木 5 25 01:19:51 UTC 2017] 29情報: Set web app root system property: 'webapp.root' = [C:\typical\Tomcat8\webapps\mcloud-service\] [木 5 25 01:20:12 UTC 2017] 30情報: Initializing log4j from [C:\typical\Tomcat8\webapps\mcloud-service\WEB-INF\classes\log4j.xml] [木 5 25 01:20:12 UTC 2017] 31情報: 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] 32情報: Webアプリケーションディレクトリ C:\typical\Tomcat8\webapps\docs を配備します [木 5 25 01:20:12 UTC 2017] 33情報: Deployment of web application directory C:\typical\Tomcat8\webapps\docs has finished in 109 ms [木 5 25 01:20:13 UTC 2017] 34情報: Webアプリケーションディレクトリ C:\typical\Tomcat8\webapps\flex を配備します [木 5 25 01:20:13 UTC 2017] 35情報: Deployment of web application directory C:\typical\Tomcat8\webapps\flex has finished in 49 ms [木 5 25 01:20:13 UTC 2017] 36情報: Webアプリケーションディレクトリ C:\typical\Tomcat8\webapps\manager を配備します [木 5 25 01:20:13 UTC 2017] 37情報: Deployment of web application directory C:\typical\Tomcat8\webapps\manager has finished in 100 ms [木 5 25 01:20:13 UTC 2017] 38情報: Webアプリケーションディレクトリ C:\typical\Tomcat8\webapps\ROOT を配備します [木 5 25 01:20:13 UTC 2017] 39情報: Deployment of web application directory C:\typical\Tomcat8\webapps\ROOT has finished in 44 ms [木 5 25 01:20:13 UTC 2017] 40情報: Starting ProtocolHandler ["http-nio-8080"] [木 5 25 01:20:13 UTC 2017] 41情報: Starting ProtocolHandler ["ajp-nio-8009"] [木 5 25 01:20:13 UTC 2017] 42情報: Server startup in 29659 ms [木 5 25 01:20:13 UTC 2017] 43重大: サーブレット serviceServlet のServlet.service()が例外を投げました [木 5 25 01:22:05 UTC 2017]

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

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

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

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

Qiita:log4j.xml書き方メモ

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

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

投稿2017/05/25 03:07

A-pZ

総合スコア12011

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shimpei

2017/05/25 04:19

回答頂きありがとうございます。 教えて頂いた方法を試したのですが、改善できませんでした。。。 何か他に方法はご存じないでしょうか?
A-pZ

2017/05/25 08:12

認証エラー(ないしはアクセス制御エラー)のとき、アプリケーションからログ出力をしていますでしょうか?認証設定や認証エラー時にログ出力しているコードや設定箇所があれば正確な回答がでるかもしれません。
shimpei

2017/05/26 01:37

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

2017/05/26 05: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に導入済みであるかを確認した方が良いでしょう。
shimpei

2017/05/26 10:32

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問