8

BlazeDS を使用して、Java Web アプリケーションの上に Flex アプリケーションを作成しています。BlazeDS は内部にログを記録していますが、アプリケーションで使用しているのと同じログ フレームワークを使用するように設定したいと考えています。

Log4J を使用するように BlazeDS をセットアップする方法はありますか? それとも、すでに BlazeDS に組み込まれている Flex のログ記録にこだわっているのでしょうか?

4

3 に答える 3

13

いいえ、すぐに使用できるBlazeDSは、log4jやその他のフレームワークを直接サポートしていません。

ただし、お気に入りのロギングフレームワークのサポートを追加するのは本当に簡単です。以下を使用して、出力をSLF4Jに取り込みました。

package example;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import flex.messaging.log.AbstractTarget;
import flex.messaging.log.LogEvent;

public class Slf4jTarget extends AbstractTarget {
    // log4j levels:   OFF - FATAL - ERROR - WARN - INFO - DEBUG - TRACE - ALL
    // blazeds levels:  NONE - FATAL - ERROR - WARN - INFO - DEBUG - ALL

    @Override
    public void logEvent(LogEvent event) {
        Logger log = LoggerFactory.getLogger(event.logger.getCategory());

        if (event.level >= LogEvent.ERROR)
            log.error(event.message, event.throwable);
        else if (event.level >= LogEvent.WARN)
            log.warn(event.message, event.throwable);
        else if (event.level >= LogEvent.INFO)
             log.info(event.message, event.throwable);
        else if (event.level >= LogEvent.DEBUG)
             log.debug(event.message, event.throwable);
        else
             log.trace(event.message, event.throwable);
    }
}

..そしてそれを使用するには、でそれを有効にしservices-config.xmlます:

<?xml version="1.0" encoding="UTF-8"?>
<services-config>
    <logging>
        <target class="example.Slf4jTarget" level="Info">
    </logging>
</services-config>
于 2009-04-09T22:38:19.750 に答える
4

CommonsLoggingTarget を使用します。

http://static.springsource.org/spring-flex/docs/1.0.x/javadoc-api/org/springframework/flex/core/CommonsLoggingTarget.htmlを参照してください。

service-config.xml でのログ レベルの設定には注意してください。これを「すべて」に設定し、log4j.xml で「blazeds」ロガーを定義すると、BlazeDS/LCDS によって冗長なログ メッセージが大量に生成され、パフォーマンスに重大な影響を与える可能性があります。

于 2010-01-19T19:10:02.560 に答える
1

Blaze DS のログ出力を log4j や commons-logging などにリダイレクトできる組み込み機能があるとは思えません。しかし、この JIRA の問題は役に立つかもしれません。

http://jira.springframework.org/browse/FLEX-18

出力をリダイレクトする Java クラスと、services-config.xml のサンプル構成が含まれています。

于 2009-04-09T22:29:13.283 に答える