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

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

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

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

Tomcat

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

Apache log4j

Apache log4jは、Javaのログユーティリティです。Apache Software Foundationの元で開発されており、Apache Software Liense 2としてライセンスが与えられています。

解決済

Commons Loggingで標準エラー出力の内容を、ログファイルに出力する方法を教えてください。

yuji38kwmt
yuji38kwmt

総合スコア0

Java

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

Tomcat

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

Apache log4j

Apache log4jは、Javaのログユーティリティです。Apache Software Foundationの元で開発されており、Apache Software Liense 2としてライセンスが与えられています。

2回答

0評価

0クリップ

4437閲覧

投稿2016/06/11 17:08

編集2022/01/12 10:58

###前提
以下の構成でWebシステムを構築しています。
* Tomcat7
* commons-logging-1.1.1

以下、log4j.propertiesの内容です。system.logファイルにログを出力しています。

Properties:log4j.properties

log4j\.appender\.consoleLog=org\.apache\.log4j\.ConsoleAppender log4j\.appender\.consoleLog\.Target=System\.out log4j\.appender\.consoleLog\.layout=org\.apache\.log4j\.PatternLayout log4j\.appender\.consoleLog\.layout\.ConversionPattern=\[%d{yyyy/MM/dd HH:mm:ss}\]\[%p\]\[%c{1}\] %m%n log4j\.appender\.fileLog=org\.apache\.log4j\.RollingFileAppender log4j\.appender\.fileLog\.File=C:/tmp/system\.log log4j\.appender\.fileLog\.layout=org\.apache\.log4j\.PatternLayout log4j\.appender\.fileLog\.layout\.ConversionPattern=<%d> %m%n

###実現したいこと
Exception\.printStackTraceや、JSP構文エラーなど、標準エラー出力の内容を、system.logファイルに出力したいです。
理由は、アプリに関するログ情報を1ファイルにまとめたいからです。

現在、標準エラー出力はTomcatのログファイルに出力されます。
アプリでエラーや問題が発生した場合、まずsystem.logを確認して、問題の原因が分からなかったらTomcatのログを確認します。
この手順が、以下の点で面倒です。
* ファイルの置き場所が異なる2つのファイルを確認しなくてはいけない
* Tomcatログには他のアプリの情報も出力されていて、分かりづらい。(現在Tomcatに複数のアプリがデプロイされている)

ソースでは、e\.printStackTrace\(\);を、log\.error\(message, e\);に置き換えて、stackTraceはsystem.logに出力しています。
なので、通常Tomcatログを確認することはありません。
が、やっぱり標準エラー出力をsystem.logに出力して、1ファイルにまとめたいです。
ご存知でしたら教えてください。よろしくお願いします。

良い質問の評価を上げる

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

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

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

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

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

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

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

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

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

まだ回答がついていません

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

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

Java

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

Tomcat

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

Apache log4j

Apache log4jは、Javaのログユーティリティです。Apache Software Foundationの元で開発されており、Apache Software Liense 2としてライセンスが与えられています。