[英]How can I setup my BlazeDS implementation with Log4J?
我正在使用BlazeDS在Java Web应用程序上编写Flex应用程序。 BlazeDS已在其中记录,但我想将其设置为使用我在我的应用程序中使用的相同日志框架。
有没有办法设置BlazeDS使用Log4J? 还是我坚持使用已经在BlazeDS中烘焙的Flex日志记录?
不,开箱即用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>
使用CommonsLoggingTarget。
请注意在service-config.xml中设置日志级别。 如果将其设置为“All”,并在log4j.xml中定义“blazeds”记录器,则BlazeDS / LCDS将生成大量冗余日志消息,这可能会对性能产生重大影响。
我不相信有任何内置允许您将Blaze DS日志记录输出重定向到log4j,commons-logging等。但是这个JIRA问题可能对您有用:
http://jira.springframework.org/browse/FLEX-18
包含一个Java类,用于重定向services-config.xml的输出和示例配置
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.