6

Grails 内で外部 log4j.properties ファイルを使用する最良の方法は何ですか? log4j.groovy スタイルの構成ではなく、従来の log4j.properties 形式を使用したいと考えています。

grails war外部構成が、作成されて war ファイルに入れられる log4j.properties ファイルでうまく機能するかどうかも興味があります。Config.groovy から log4j 構成を削除しても、log4j.properties は引き続き war ファイルに入れられますか?

4

4 に答える 4

6

Grails 1 および 2 には、すぐに使用できる webapp で構成および使用されるロギング DSLlog4j = { ... }があるため、コードを削除する必要があります。grails-app/conf/Config.groovy

典型的な Java Web アプリケーションのようにロギングに外部構成ファイルを使用する場合は、次のようにファイルgrails-app/conf/spring/resources.groovyを更新します。

beans = {
    log4jConfigurer(org.springframework.beans.factory.config.MethodInvokingFactoryBean) {
        targetClass = "org.springframework.util.Log4jConfigurer"
        targetMethod = "initLogging"
        arguments = ["classpath:log4j.properties"]
    }
}

Log4j アペンダー構成で使用されるパッケージ名は、Grails 固有のプレフィックスが追加されるため、おそらく期待したものではないことに注意してください...

WARN grails.app.controllers.org.example.BookController - This is a warn log message from BookController
ERROR grails.app.controllers.org.example.BookController - This is an error log message from BookController
于 2012-05-22T18:12:46.633 に答える
4

1.0.x シリーズを使用している場合:

  • War.groovy を $GRAILS_HOME/scripts から $APP/scripts にコピーします
  • コピーした War.groovy の 145 行目と 154 行目をコメントアウトします。
  • log4j.properties を $APP/grails-app/conf に入れます
  • $ grails war を実行すると、実行する War スクリプトを選択するよう求められます。次に、ローカルのスクリプト (通常は #1) を選択します。
于 2009-02-06T01:24:45.817 に答える
3

以下のLog4J Pluginを確認してください。

「古い学校の Java 開発者の中には、構成ファイルがはるかに大きいにもかかわらず、log4j.xml の方が快適な人もいます。このプラグインは、デフォルトの Log4j DSL を無効にして、log4j.xml を元の形式で使用できるようにする方法を提供します。 Groovy MarkupBuilder スタイル。"

私はそれを自分で使用したことがないので、WAR コンテキストでの使いやすさについて話すことはできません..アプリを WAR にアップしてから試してみてください..WEB-INF フォルダーの下にあるはずです。それでもうまくいかない場合は、grails ユーザー リストのMingfaiがおそらく助けてくれるでしょう。

于 2009-02-06T01:00:22.920 に答える
0

少なくとも 1.0.x シリーズ (1.1 ではチェックされていません) では、Grails のサポートを忘れて、Spring に直接依存しています。web.xml で log4jConfigLocation パラメーターを使用するだけです。詳細はこちら

于 2009-10-19T08:36:20.483 に答える