`
bj_sunny
  • 浏览: 27116 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Flex日志框架slf4fx使用浅谈

阅读更多
  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其他日志的朋友可以给出更好的推荐。

    
分享到:
评论
3 楼 niweiwei 2011-08-21  
这个服务器端如何集成到自己的应用程序中去,而不需要去手动的启动那个cmd窗口,谢谢
2 楼 liushen8002 2010-07-26  
能否在xml里配置slf4fx?我只找到了在命令行行配置,如下
Configuration is also easy - just provide additional options in server command line. The command java -jar slf4fx-server-deps.jar --helpprints list of available options

usage: java -jar slf4fx-server.jar [OPTIONS]
SLF4Fx simple server
-b,--bind <ADDRESS[:PORT]>        bind SLF4Fx server to this address
-d,--disable-policy               disable any socket policy for Adobe Flash
                                   Player
-h,--help                         print this message
-k,--known-applications <FILE>    known applications descriptor file(one pair
                                   APPLICATION=SECRET per line)
-p,--policy-file <FILE>           socket policy file for Adobe Flash Player
-r,--reader-buffer-size <BYTES>   protocol decoder buffer size
-t,--session-timeout <TIMEOUT>    session timeout in seconds
1 楼 liushen8002 2010-07-26  
您好!我初学Flex,对日志不是很清楚,slf4fx怎么配置服务器和端口号?怎么模块化?

相关推荐

    slf4fx flex日志 java

    SLF4FX是一个专门为Flex应用程序设计的日志框架,它提供了与Java中的标准日志记录库SLF4J(Simple Logging Facade for Java)类似的接口,使得在Flex客户端和Java服务端都能实现统一的日志记录。这个框架使得开发者...

    slf4fx java-flex日志框架

    SLF4FX是Java-Flex日志框架,它为Java后端和Adobe Flex前端应用程序提供了一种统一的日志记录解决方案。这个框架的核心目标是使开发者能够无缝地在客户端(Flex应用)和服务器端(Java应用)之间跟踪和调试日志信息...

    浅谈Java日志框架slf4j作用及其实现原理

    当我们在代码中使用这些方法时,SLF4J不会直接执行日志操作,而是将调用转发给底层的日志框架。这就意味着,只要使用了SLF4J的API,就可以轻松地切换日志实现,而无需修改代码中的日志语句。 为什么我们需要SLF4J呢...

    slf4j日志框架的源代码分享

    SLF4J(Simple Logging Facade for Java)是Java中的一种日志门面(Logging Facade),它为各种日志框架提供了一个简单的统一接口,如Log4j、Java Util Logging、Logback等。通过SLF4J,开发者可以在运行时绑定任意...

    slf4j完整日志文件

    SLF4J(Simple Logging Facade for Java)是Java中的一种日志门面(Logging Facade),它为各种日志框架提供了一个简单的统一接口,如Log4j、Java Util Logging (JUL)、Logback等。这个接口允许最终用户在部署时插入...

    android slf4j log4j日志框架

    SLF4J(Simple Logging Facade for Java)和Log4j是两个广泛使用的日志框架,它们在Java生态系统中占据着重要地位,包括Android开发。 SLF4J是一个接口层,它提供了一组通用的日志API,允许开发者选择任何兼容的...

    log4j-2.11.2的jar包和日志门面slf4j的jar包

    Log4j和SLF4J(Simple Logging Facade for Java)是Java领域广泛使用的两个日志框架,它们有着各自的特点和用途。下面将详细阐述这两个框架以及它们在给定压缩包中的具体组件。 首先,Log4j是Apache软件基金会的一...

    非web工程使用slf4j输出日志

    SLF4J(Simple Logging Facade for Java)是Java中的一种日志抽象层,它为各种日志框架,如Log4j、Logback等提供一个简单的接口,使得开发者能够在不改变代码的情况下更换日志实现。在非Web工程中,SLF4J同样扮演着...

    SLF4j中文使用手册

    SLF4J(Simple Logging Facade for Java)是一个用于Java编程语言的日志门面框架,它提供了一个简单的抽象层,用以使用各种日志框架,例如java.util.logging、logback和log4j。门面模式的好处在于,开发者可以在不同...

    Springboot项目使用Slf4j将日志保存到本地目录的实现代码

    Slf4j 是一个 Java 日志记录门面,它提供了一个通用的日志记录API,允许开发者使用不同的日志记录框架,例如 Logback、Log4j 等。在 Springboot 项目中,Slf4j 是默认的日志记录框架。本文将介绍如何使用 Slf4j 将...

    调试日志之slf4j+logback

    SLF4J通过引入`LoggerFactory`类,使得我们可以轻松获取并使用日志器,例如: ```java import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class MyClass { private static final Logger logger =...

    log4j + slf4j-api + slf4j-log4j12

    在给定的标题和描述中,我们看到了两个关键的日志框架——`log4j`和`SLF4J(Simple Logging Facade for Java)`,以及它们之间的桥接器`slf4j-log4j12`。这些组件是Java日志处理的常用工具,让我们详细了解一下它们...

    slf4fx-netty-server:SLF4Fx 服务器使用 Netty 而不是 Apache Mina

    最初的是一个框架,允许将客户端的 Flex 日志 API 与服务器端的许多 Java 日志框架集成。 在幕后,它使用 Apache Mina 作为网络层。 本项目在使用而不是Mina时只实现了服务器部分,并且兼容SLF4Fx客户端1.12。 主类...

    slf4j-log4j12-1.7.12.jar、slf4j-api-1.7.12.jar

    SLF4J提供了一种机制,通过在类路径中放置特殊的“禁止”JAR(如jul-to-slf4j.jar),可以防止Java Util Logging(JUL)等其他日志框架的直接使用,从而保持日志系统的统一。 标签"slf4j"表明了这两个JAR文件与SLF4...

    slf4j输入日志到mongodb

    这样做的好处在于,我们可以根据项目需求在部署时动态选择日志框架,只需更换相应的实现即可。 接下来,为了将这些日志信息存入MongoDB,我们需要一个适配器或者扩展,它可以将SLF4J的日志事件转换为MongoDB可接受...

    slf4j jar包

    1. **解耦**:使用SLF4J可以避免与特定日志实现的耦合,方便更换或升级日志框架。 2. **灵活性**:允许开发者在运行时动态选择日志实现,通过类路径中的jar包自动绑定。 3. **简单性**:统一的API使得学习和使用成本...

    slf4j与其它日志api的结合

    SLF4J(Simple Logging Facade for Java)是Java中的一种日志抽象层,它提供了一个统一的API,允许开发者在运行时选择他们喜欢的日志框架。SLF4J的主要目的是为各种日志API提供一个简单统一的接口,使得最终用户能够...

    Slf4j日志相关jar包

    **Slf4j日志框架详解** Slf4j(Simple Logging Facade for Java)是一个用于日志系统的简单 facade,它允许最终用户在部署他们的应用时使用他们希望的日志库。Slf4j提供了一个统一的API,使得开发人员能够在不更换...

    Java Slf4j依赖包

    2. `slf4j-jdk14-1.5.6.jar`:这是一个适配器模块,它使得Slf4j可以使用Java内置的日志系统(java.util.logging)作为其后台日志框架。如果你的应用环境中已经使用了Java内置的日志,那么这个适配器可以让Slf4j无缝...

Global site tag (gtag.js) - Google Analytics