1

Grails へのログインに問題があります。ログをファイルに書き込むにはどうすればよいですか? さらに、異なるレベルのログを別のファイルに入れたいですか?

また、本番および開発ロギングの設定はありますか? たとえば、開発中のプロジェクトを実行している場合、catalina.out はありません。ログ ファイルはどこに保存されますか?

例:

log.info "I am working fine look: ..."

私が知りたい情報は、info.logと言います

log.error "Bad coding results in: ..."

標準の Tomcat ログに移動したいエラー: catalina.out

log.debug "Debugging is a pain: ..."
log.fatal "Just died because..."

残りのログ レベルは、fine.log に記録します。

どうもありがとうございました。

PS: 例をいただければ幸いです。

4

1 に答える 1

4

それは(比較的)単純です。最初にログ レベルを設定し、次にそれをアクティブにしてから、それに書き込む必要があります。標準では、ログ レベル ERROR がオンになっているため、log.error "" を使用して書き込まれたものはすべて、メッセージを stdout に送信します (アペンダーの動作を変更していない場合)。

以下は、アプリケーションでエラー、警告、および情報を表示するがデバッグは表示しない場合の変更です。

log4j の Config.groovy で、アペンダーを変更して、誰が話しているかを教えてください

appenders {
    console name:'stdout', layout:pattern(conversionPattern: '%d{[dd.MM.yy HH:mm:ss.SSS]} %-5p %c %x - %m%n')
}

次に、アプリのログ レベルを「情報」に変更します (そのため、アプリのエラー、警告、および情報が書き込まれます)。エラーの前にアペンダーが行を追加した後

info 'grails.app'

最後に、いくつかのコードを試してみましょう。コントローラーなどで、次の 3 行を追加します。

 log.debug "First piggy wrote to Debug"
 log.info "Second piggy wrote to Info"
 log.error "And the third piggy wrote to Error"

そして私のコンソールは言う:

[22.10.13 10:37:43.446] INFO  grails.app.controllers.crmapper.CrMapperController  - Second piggy wrote to Info
[22.10.13 10:37:43.446] ERROR grails.app.controllers.crmapper.CrMapperController  - And the third piggy wrote to Error
于 2013-10-22T09:40:57.933 に答える