2012-03-22 6 views
0

Grailsのロギングと外部設定ファイルの使用に関する2つの問題があります。
1. src/groovyフォルダにクラスAを入れていくつかのメソッドでイベントを記録したいが、Grailsのサービススコープとコントローラスコープの外にあるため、組み込みの "logger"を使うことはできない応用。 LogFactory.getLog( "A.class")を使用しようとしましたが、このロギング変数から何も書き出されません。では、この追加のロガーに、デフォルトで作成された同じログファイルにログインするように強制するにはどうすればよいですか?あるいは、Grailsが提供する組み込みのロガーを再利用することは可能ですか?
2.アプリケーションで使用されるいくつかのパラメータを再定義できるようにするため、外部設定ファイルを作成し、Grailsがメッセージリソースファイル(code = value)に適用するようなファイルコンテンツの構文を作成します。 。 Grailsにそのファイルを他のメッセージリソースファイルとして理解させてもらうことができますか?そしてそれをアプリケーションのリソースクラスパスに含める方法は?
ありがとうございました!Grailsロギングと外部設定ファイルに関するいくつかの質問

+1

これらは完全に無関係なので、2つの質問を実際に投稿する必要があります。私は#2に答えることができますが、私は#1に答えることができないのでここにはいません。 – Gregg

答えて

0

設定ファイルをGrailsプロジェクトに追加する方法は次のとおりです。

プロパティファイルmyExternalProperties.groovyを作成し、クラスパス($TOMCAT_HOME/libディレクトリなど)に配置します。

(必要に応じて)外部構成値を使用するための構成ファイルgrails-app/conf/MyConfig.groovyを作成します。 grails-app/conf/Config.groovyのmyExternalProperties.groovyで定義されたプロパティを使用することはできません。

grails-app/conf/Config.groovyを編集します。行のコメントを外しgrails.config.locationsを定義し、これを追加します。

grails.config.locations << "classpath:MyExternalProperties.groovy" 
grails.config.locations << "classpath:MyConfig.groovy" 

は(おそらく作成する必要がある)scripts/Events.groovyに次の行を追加します。

eventCompileEnd = { 
    ant.copy(todir:classesDirPath) { 
     fileset(file:"${basedir}/grails-app/conf/MyConfig.groovy") 
    } 
} 

最後の部分は非常に重要です。

+0

あなたは彼の質問に答えなかったので、まだこの答えは正直に受け入れられません。デュードはそれらを分割する必要があります。 – Gregg

+0

これは当てはまりますが、Stack Overflowの目的は人々が問題を解決するのを助けることです。 –

関連する問題