Flex中自带有自己的日志功能,但是限制比较多比如:日志路径不能修改,在重新加载flex程序时日志文件的会被清空。针对这两个要求公司内部采用了SLF4FX日志框架。
此组件的下载路径及介绍见 http://code.google.com/p/slf4fx/;
使用说明:
第一步:
将slf4fx-1.11-bin解压放在任意目录下,将slf4fx-1.11-bin\lib目录下的slf4fx_client.swc文件引入到项目中。
第二部:启动服务,路径\slf4fx-1.11-bin\slf4fx.cmd.
第三部:
编写示例:
MXML文件:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" initialize="init()">
<fx:Script>
<![CDATA[
import logging.Logging;
import mx.logging.ILogger;
import mx.logging.Log;
import mx.logging.LogEventLevel;
import org.room13.slf4fx.Slf4FxLoggingTarget;
private var _log : ILogger = Log.getLogger("org.room13.slf4fx.MyApplication");
private function init() : void {
Log.addTarget(new Slf4FxLoggingTarget("myApplication", "mySecret"));
}
private function generateMXMLLogRecords() : void {
_log.debug("level={0} {1}", LogEventLevel.DEBUG, "**DEBUG**");
_log.info("level={0} {1}", LogEventLevel.INFO, "**INFO**");
_log.warn("level={0} {1}", LogEventLevel.WARN, "**WARN**");
_log.error("level={0} {1}", LogEventLevel.ERROR, "**ERROR**");
_log.fatal("level={0} {1}", LogEventLevel.FATAL, "**FATAL**");
}
private function generateASLogRecords() : void {
var obj:Logging=new Logging();
obj.loggdebug();
}
]]>
</fx:Script>
<s:HGroup>
<s:Button label="mxml日志输出" x="20" y="20" click="generateMXMLLogRecords()"/>
<s:Button label="as日志输出" x="20" y="20" click="generateASLogRecords()"/>
</s:HGroup>
</s:Application>
AS文件:
package logging
{
import mx.logging.ILogger;
import mx.logging.Log;
import mx.logging.LogEventLevel;
import org.room13.slf4fx.Slf4FxLoggingTarget;
public class Logging
{
private var _log:ILogger;
public function Logging()
{
_log= Log.getLogger("org.room13.slf4fx.MyApplication");
Log.addTarget(new Slf4FxLoggingTarget("myApplication", "mySecret"));
}
public function loggdebug():void{
//第一个参数用于设定输出顺序
_log.debug("级别={0} {1}",LogEventLevel.DEBUG,"测试========33=============");
//输出完毕后使用此方法清除所有记录程序记录,否则打印重复
Log.flush();
}
}
}
启动程序点击按钮,日志将记录在\slf4fx-1.11-bin\slf4fx-client.log日志文件中。
日志的级别有:DEBUG,INFO,WARN,ERROR,FATAL,可以根据个人的需要进行设置。输出结果见点击“mxml日志输出”按钮后的输出结果。
注意:使用日志打印后需要调用flush()方法进行清理,否则输出数据重复。
如上述内容有误情况,望给出指正,也希望使用过Flex其他日志的朋友可以给出更好的推荐。
分享到:
相关推荐
SLF4FX是一个专门为Flex应用程序设计的日志框架,它提供了与Java中的标准日志记录库SLF4J(Simple Logging Facade for Java)类似的接口,使得在Flex客户端和Java服务端都能实现统一的日志记录。这个框架使得开发者...
SLF4FX是Java-Flex日志框架,它为Java后端和Adobe Flex前端应用程序提供了一种统一的日志记录解决方案。这个框架的核心目标是使开发者能够无缝地在客户端(Flex应用)和服务器端(Java应用)之间跟踪和调试日志信息...
当我们在代码中使用这些方法时,SLF4J不会直接执行日志操作,而是将调用转发给底层的日志框架。这就意味着,只要使用了SLF4J的API,就可以轻松地切换日志实现,而无需修改代码中的日志语句。 为什么我们需要SLF4J呢...
SLF4J(Simple Logging Facade for Java)是Java中的一种日志门面(Logging Facade),它为各种日志框架提供了一个简单的统一接口,如Log4j、Java Util Logging、Logback等。通过SLF4J,开发者可以在运行时绑定任意...
SLF4J(Simple Logging Facade for Java)是Java中的一种日志门面(Logging Facade),它为各种日志框架提供了一个简单的统一接口,如Log4j、Java Util Logging (JUL)、Logback等。这个接口允许最终用户在部署时插入...
SLF4J(Simple Logging Facade for Java)和Log4j是两个广泛使用的日志框架,它们在Java生态系统中占据着重要地位,包括Android开发。 SLF4J是一个接口层,它提供了一组通用的日志API,允许开发者选择任何兼容的...
Log4j和SLF4J(Simple Logging Facade for Java)是Java领域广泛使用的两个日志框架,它们有着各自的特点和用途。下面将详细阐述这两个框架以及它们在给定压缩包中的具体组件。 首先,Log4j是Apache软件基金会的一...
SLF4J(Simple Logging Facade for Java)是Java中的一种日志抽象层,它为各种日志框架,如Log4j、Logback等提供一个简单的接口,使得开发者能够在不改变代码的情况下更换日志实现。在非Web工程中,SLF4J同样扮演着...
SLF4J(Simple Logging Facade for Java)是一个用于Java编程语言的日志门面框架,它提供了一个简单的抽象层,用以使用各种日志框架,例如java.util.logging、logback和log4j。门面模式的好处在于,开发者可以在不同...
Slf4j 是一个 Java 日志记录门面,它提供了一个通用的日志记录API,允许开发者使用不同的日志记录框架,例如 Logback、Log4j 等。在 Springboot 项目中,Slf4j 是默认的日志记录框架。本文将介绍如何使用 Slf4j 将...
SLF4J通过引入`LoggerFactory`类,使得我们可以轻松获取并使用日志器,例如: ```java import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class MyClass { private static final Logger logger =...
在给定的标题和描述中,我们看到了两个关键的日志框架——`log4j`和`SLF4J(Simple Logging Facade for Java)`,以及它们之间的桥接器`slf4j-log4j12`。这些组件是Java日志处理的常用工具,让我们详细了解一下它们...
最初的是一个框架,允许将客户端的 Flex 日志 API 与服务器端的许多 Java 日志框架集成。 在幕后,它使用 Apache Mina 作为网络层。 本项目在使用而不是Mina时只实现了服务器部分,并且兼容SLF4Fx客户端1.12。 主类...
SLF4J提供了一种机制,通过在类路径中放置特殊的“禁止”JAR(如jul-to-slf4j.jar),可以防止Java Util Logging(JUL)等其他日志框架的直接使用,从而保持日志系统的统一。 标签"slf4j"表明了这两个JAR文件与SLF4...
这样做的好处在于,我们可以根据项目需求在部署时动态选择日志框架,只需更换相应的实现即可。 接下来,为了将这些日志信息存入MongoDB,我们需要一个适配器或者扩展,它可以将SLF4J的日志事件转换为MongoDB可接受...
1. **解耦**:使用SLF4J可以避免与特定日志实现的耦合,方便更换或升级日志框架。 2. **灵活性**:允许开发者在运行时动态选择日志实现,通过类路径中的jar包自动绑定。 3. **简单性**:统一的API使得学习和使用成本...
SLF4J(Simple Logging Facade for Java)是Java中的一种日志抽象层,它提供了一个统一的API,允许开发者在运行时选择他们喜欢的日志框架。SLF4J的主要目的是为各种日志API提供一个简单统一的接口,使得最终用户能够...
**Slf4j日志框架详解** Slf4j(Simple Logging Facade for Java)是一个用于日志系统的简单 facade,它允许最终用户在部署他们的应用时使用他们希望的日志库。Slf4j提供了一个统一的API,使得开发人员能够在不更换...
2. `slf4j-jdk14-1.5.6.jar`:这是一个适配器模块,它使得Slf4j可以使用Java内置的日志系统(java.util.logging)作为其后台日志框架。如果你的应用环境中已经使用了Java内置的日志,那么这个适配器可以让Slf4j无缝...