- - PR -
ExceptionのstackTraceをLogging APIで出力したい
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-12-04 18:17
例外情報のログ出力方法について壁にあたっています。
ExceptionクラスのprintStackTrace文の内容をLogging APIの 出力先となっているログファイルに出力するのが目標です。 printStackTrace()メソッドの引数にPrintWriterを渡す方法も あるかと思いますが、できれば他のログと同様Logging APIで 出力したいと思います(出力先の設定箇所等の関係)。 Logging API はJakarta Commons Logging + Log4j です。 何か方法をご存じでしたらご教授ください。 よろしくお願いします。 | ||||||||
|
投稿日時: 2004-12-05 00:42
Commons Loggingは使った事が無いですが、Throwableを引数に取る メソッドでスタックトレースがログ出力されませんでしたっけ? 自力で実装するのであれば、Throwable#getStackTrace() が使えると思います。 # と言うかJ2SE APIのJavaDocで使えそうなAPIが無いか確認しましたか? | ||||||||
|
投稿日時: 2004-12-05 19:53
ありがとうございます。
YOU@ITさんのアドバイスに従い、目的の処理を実装できました。
Throwable#getStackTrace()の戻り値、 StackTraceElementの要素をLoggingのログ出力メソッド(fatal()など)に 渡してやればよいようです。 そのほかThrowableの実装が参考になりました。 ありがとうございました。 | ||||||||
|
投稿日時: 2004-12-06 00:52
Commons Loggingでしたら、
YOU@ITさんの言うとおり、Throwableを引数に取るメソッドを使えばよいと思います。 わざわざ Throwable#getStackTrace() を使って、次のように書かなくても、
Throwableを引数に取るメソッドを使って、以下のように書けるはずです。
http://www.jajakarta.org/commons/logging-1.0.3/ja/withoutPrimary/org/apache/commons/logging/Log.html#fatal(java.lang.Object, java.lang.Throwable) |
1