2010-12-06 7 views
3

特定の状況では、例外をキャッチして、grailsのLog4Jプロパティで定義されたstackTraceログにスタックトレースを表示したいと思います。どうやってやるの?grailsで例外をスローしないでstackTraceをログに記録する方法

たとえば、私は通常のログにlog.error myException.stackTraceを使用して書き込むことができますが、スタックトレースで通常のログファイルがいっぱいになることはありません。

+0

のcatchブロックで、あなたのログステートメントを追加することができます - しかし、私はあなたがどのようなプログラミング言語でも標準を行うことができると思います。あなたは例外をスローしてキャッチすることができます。そうすれば例外はあなたのログに漏れません。私が完全に同意する非例外的な状況で例外をスローしたくない場合を除き、Javaで現在のスタックフレームを取得する方法を尋ねています。 –

+0

私は例外をキャッチします。また、スタックトレースがログに表示されるようにしたいと思います。 –

答えて

3

すでにgrailsによって生成されたスタックトレースログがあります。

あなたはそのロガーを取得し、私は、Java(もう)またはLog4Jの(もう)やGrailsのを知っていない例外

LogManager.getLogger("StackTrace") 

http://grails.org/doc/latest/guide/3.%20Configuration.html#3.1.2%20Logging

+0

はい、キャッチされた例外のスタックトレースはそこに表示されません!どうすれば例外を捕まえて、スタックトレースをスタックトレースログに記録させることができますか? –

+0

申し訳ありません...編集を参照してください –

+0

これはそれです - ありがとうございます! org.apache.log4j.LogManager.getLogger( "StackTrace")を使用して完全なStacktraceをログできます。error myMessage、myException –

関連する問題