0

Perf4jv0.9.16をlog4jv1.2.17と統合しようとしています。

以下は、メソッドを持つUtilsクラスです。

public class Utils {

    private static Logger logger = Logger.getLogger(Utils.class);

    @Profiled
    public String checkNullValueForString(Object obj)
    {
        String resultStr = "";
        if(obj != null)
        {
            logger.info("Object is not null.");
            resultStr = String.valueOf(obj);
        }
        logger.info("Resultstr is "+resultStr);
        return resultStr;
    }
}

以下はlog4j.propertiesファイルです。

# Define the root logger with appender file
log = /usr/home/log4j
log4j.rootLogger = DEBUG, FILE
org.perf4j.log4j = INFO

# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File= logs/log.out

# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n

utilsメソッドを実行すると、ロガーメッセージが出力されますが、perf4jロガーは出力されません。

助けてください。

4

1 に答える 1

1

Perf4Jのドキュメントから

プロファイルアノテーション自体は、プロファイリングのメソッドをマークするだけで、実際にはタイミングコードを追加しません。代わりに、AspectJやSpring AOPなどのアスペクト指向プログラミングフレームワークを使用して、タイミングアスペクトをコードに挿入する必要があります。

上記の両方のAOPフレームワークに提供されるアスペクトクラスがあります。開始するには、いくつかの構成ファイルを追加する必要があります。

これを行う方法を理解するには、 http: //perf4j.codehaus.org/devguide.html#Unobtrusive_Logging_with_Profiled_and_AOPにあるPerf4Jのドキュメントをお読みください。

于 2012-08-18T15:58:05.110 に答える