1

Grails 1.3.7 を使用しています。war ファイルをビルドして tomcat にデプロイします。ロギングのセットアップに使用する外部の Groovy 構成ファイルがあります。宣言にいくつかの perf4j ロギング アペンダーを追加しましたが、完全修飾クラス名を解決できないため、構成ファイルのコンパイルに失敗しました。

コードは次のようになります。

log4j = {
    ...
    // file appender that writes out the URLs of the Google Chart API graphs generated by the performanceGraphAppender
    def performanceGraphFileAppender = new org.apache.log4j.FileAppender(
        fileName: "log/perfGraphs.log",
        layout: pattern(conversionPattern: '%m%n')
    )
    appender name: 'performanceGraphFileAppender', performanceGraphFileAppender

    // this appender creates the Google Chart API graphs
    def performanceGraphAppender = new org.perf4j.log4j.GraphingStatisticsAppender(
        graphType: 'Mean',      // possible options: Mean, Min, Max, StdDev, Count or TPS
        tagNamesToGraph: 'tag1,tag2,tag3',
        dataPointsPerGraph: 5
    )
    performanceGraphAppender.addAppender(performanceGraphFileAppender)
    appender name: 'performanceGraph', performanceGraphAppender

    ...
}

ログに書き込まれるエラー メッセージは次のとおりです。

script1317679813518843914255.groovy: 38: unable to resolve class org.perf4j.log4j.GraphingStatisticsAppender 
@ line 38, column 34.
    def performanceGraphAppender = new org.perf4j.log4j.GraphingStatisticsAppender(

私が構築している war ファイルには、必要なすべての JAR が含まれています。参照を解決する方法について何か考えはありますか?

ありがとう、

遺伝子

4

1 に答える 1

0

デプロイ後、tomcat から log4j を使い始める可能性があります。フォルダーを見てlibください。おそらく、log4j jar が含まれています。それが本当なら、別のクラスローダーを使用しているため、perf4j クラスを認識できません。

perf4j jar を tomcatlib

于 2011-10-04T01:47:03.877 に答える