`

flex 日志

    博客分类:
  • flex
阅读更多

 用过java的日志框架log4j之后,你就会被它方便而又强大的功能所吸引。我们不仅可以控制日志输出的目的地,还可以控制日至输出级别,便于调试和发布。
    其实在Flex中也提供了这样的一个框架,Logging API就是最基本的日志控制框架,只不过大部分的人都在用最简单的trace()函数罢了。
    Logging API不仅提供了最基本的trace功能,还提供了log target,也就是输出的方式。还提供了destination目的地的配置功能。通过我们对log的级别控制我们可以输出一些普通信息而过滤掉debug的信息。除此之外还可以进行自定义log target,对框架进行扩展。

重要概念和类介绍:

Logger: 提供了接口发送log到一个特定的target,它实现了ILogger接口。
Log target:定义了日志将会被写道哪里。Flex提供了两类target,TraceTarget和MiniDebugTarget。TraceTarget就是将log输出到trace()函数输出的文件中,也就是flashlog.txt文件中。当然你也可以自定义一个log target。
Logging Level:定义了当前系统可输出的日志级别。

如下表所示,按照高到低排列。如果现在的level是ALL,那么系统中所有的日志都会被输出。如果是INFO,那么高于INFO的DEBUG信息就不会被输出。这个很容易理解。

 Logging level constant (int) Description
 ALL (0)   Designates that messages of all logging levels should be logged.
 DEBUG (2) Logs internal Flex activities. This is most useful when debugging anapplication.Select the DEBUG logging level to include DEBUG, INFO, WARN, ERROR, and FATAL messages in your log files.
 INFO (4)  Logs general information.Select the INFO logging level to include INFO, WARN, ERROR, and FATAL messages in your log files.
 WARN (6)   Logs a message when the application encounters a problem. These problems do not cause the application to stop running, but could lead to further errors.Select the WARN logging level to include WARN, ERROR, and FATAL messages in your log files.
 ERROR(8)    Logs a message when a critical service is not available or a situation has occurred that restricts the use of the application. Select the ERROR logging level to include ERROR and FATAL messages in your log files.
 FATAL (1000)  Logs a message when an event occurs that results in the failure of the application. Select the FATAL logging level to include only FATAL messages in your log files.

log target 过滤filters
logTarget.filters=["mx.rpc.*","mx.messaging.*"];
这个例子中就是指定了我们要输出日志的类和包。只有在mx.rpc和mx.messaging包下的类才能输出log,忽略其他的。也可以是mxml形式:

<mx:TraceTarget id="logTarget" includeDate="true" includeTime="true"
                  includeCategory="true" includeLevel="true">
            <mx:filters>
                  <mx:Array>
                        <mx:String>mx.rpc.*</mx:String>
                        <mx:String>mx.messaging.*</mx:String>
                  </mx:Array>
            </mx:filters>
           <!-- 0 is represents the LogEventLevel.ALL constant. -->
           <mx:level>0</mx:level>
</mx:TraceTarget>

参数介绍
includeDate="true",输出的log带日期
includeTime="true", 输出的log带时间
includeCategory="true",输出的log带分类信息,也就是哪个类或者控件输出的log
includeLevel="true",输出的log是否带level信息,如[INFO],[DEBUG]等。

来个实用的小例子

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="
http://www.adobe.com/2006/mxml" layout="absolute" initialize="initLog()">
 <mx:Script>
  <![CDATA[
   import mx.logging.*;
   import mx.logging.targets.*;
   private var myLogger : ILogger;
   public function printLog(level:Number):void
   {
    if(level ==2)
     myLogger.debug("This is debug click");
    if(level == 4)
     myLogger.info("This is info click");
    if(level == 6)
     myLogger.warn("This is warn click");
    if(level == 8)
     myLogger.error("This is error click");
    if(level ==1000)
     myLogger.fatal("This is fatal click");
   }
   private function initLog():void{
    /*
    // Create a target.
    var logTarget:TraceTarget = new TraceTarget();
    // Log only messages for the classes in the mx.rpc.* and
    // mx.messaging packages.
    logTarget.filters=["*"];
    // Log all log levels.
    logTarget.level = LogEventLevel.ALL;
    // Add date, time, category, and log level to the output.
    logTarget.includeDate = true;
    logTarget.includeTime = true;
    logTarget.includeCategory = true;
    logTarget.includeLevel = true;
    // Begin logging.
    Log.addTarget(logTarget);
    */
    myLogger = Log.getLogger("myCustomClass");
   }
  ]]>
 </mx:Script>
 <mx:TraceTarget level="4" includeDate="true" includeTime="true"
  includeCategory="true" includeLevel="true">
  <mx:filters>
   <mx:Array>
    <mx:String>*</mx:String>
   </mx:Array>
  </mx:filters>
 </mx:TraceTarget>
 <mx:VBox width="100%" height="100%" horizontalAlign="center" verticalAlign="middle">
  <mx:Button label="DEBUG(2)" click="printLog(2)"/>
  <mx:Button label="INFO(4)" click="printLog(4)"/>
  <mx:Button label="WARN(6)" click="printLog(6)"/>
  <mx:Button label="ERROR(8)" click="printLog(8)"/>
  <mx:Button label="FATAL(1000)" click="printLog(1000)"/>

 </mx:VBox>
 
</mx:Application>

分享到:
评论

相关推荐

    绝好的FLEX日志器

    绝好的FLEX日志调试器,附带源码 可导出日志,删除日志,按日志级别显示日志 并有详细的使用方法和说明 本人现在急缺CSDN分,望各网友见谅了。

    slf4fx flex日志 java

    flex日志框架 SLF4FX。很全面的下载包,里面包括slf4fx整个包+flex客户端代码+java服务端代码+slf4fx框架详细介绍和使用说明doc文档。下载直接运行即可,代码里有详细的注释。

    slf4fx java-flex日志框架

    slf4fx java-flex日志框架 完整的demo 下载直接跑,包括完整的配置文件 带注释

    maven SSH Flex 日志查询

    利用Maven搭建的Java SSH框架后台,利用Flex显示 利用Maven搭建的Java SSH框架后台,利用Flex显示 利用Maven搭建的Java SSH框架后台,利用Flex显示 利用Maven搭建的Java SSH框架后台,利用Flex显示 利用Maven搭建的...

    flex air记录日志的实例

    flex air程序记录日志工具类,写了一个简单的运用实例。

    flex 整合 spring+struts2+ibatis - 乐的日志 - 网易博客.htm

    flex 整合 spring+struts2+ibatis - 乐的日志 - 网易博客.htm flex 整合 spring+struts2+ibatis - 乐的日志 - 网易博客.htm

    Flex整合Spring实现aop日志管理

    Flex整合Spring实现aop日志管理 实现记录操作的日志

    FLEX自定义的日历组件,带有日志记录功能

    FLEX自定义的日历组件,带有日志记录功能FLEX自定义的日历组件,带有日志记录功能FLEX自定义的日历组件,带有日志记录功能FLEX自定义的日历组件,带有日志记录功能

    使用slf4fx来记录flex程序日志

    NULL 博文链接:https://baiyejianxin.iteye.com/blog/1140027

    flex 4 学习资料

    flex4 的DataGrid里面加一列CheckBox并实现数据交互的试验 - 暖阳下的猫的日志 - 网易博客 Flex 4 ColumnChart 图表使用实例ColumnChart_RIA前线-Flex富应用、Flex中文教程、Flex实例源码 Flex实现ColumnChart柱图为...

    Flex Builder

    flex builder 输出日志到不同位置

    FlexBuild 3.0

    增加自动构建功能,可指定每天或每周定时构建 增加设置对话框,大部分设置多可以在里头完成 修改source文件格式 增加Visual C++ 6.0/2003/2005/2008/...修改flexbuild配置文件格式(flexbuild.xml) 增加多语言界面支持

    flex as3 6个日志,调试工具

    MonsterDebuggerV2_04.air 比较强大 alcon.air 感觉一般 FlexConsole-1.0.0.air 没用过 Arthropod.air 用过比trace好 Console_v2.12.zip 没用过 ThunderBoltAS3_v2.2.zip ThunderBoltAS3_v2.2.air 跟flex结合使用

    日志提醒 Flex界面开发

    博文链接:https://xiaoa7.iteye.com/blog/247960

    flex与java实现的日志管理

    主要功能:登录,注册,日志管理,图片上传 刚学习flex的朋友可以参考 资源太大不能上传,项目中缺少acrobat-core.jar包,请谅解,大家可以自己下载 有疑问的可以留言,

    flex eclipse插件和subclipse插件 冲突

    1:到adobe网站上去下载 flex eclipse plug-in。我下载的是plugin for eclipse ,http://www.adobe.com/cfusion/entitlement/index.cfm?e=flexbuilder3 大约有340M 2:安装flex eclipse plug-in,这个软件是个exe...

    H3C FlexServer-iLO功能介绍及AHS日志收集方法.pdf

    H3C FlexServer-iLO功能介绍及AHS日志收集方法.pdf

    J2EE项目整合FLEX项目.doc

    J2EE项目整合FLEX项目 应一个朋友请求,给他写一个J2EE与...写了这么多,于是我顺便贴我的空间里吧,校内日志我也摘抄了一份! 我用的环境是MyEclipse6.0+JDK5.0+Tomcat5.5+ Flex3.0 Builder For Eclipse Plugin+LCDS

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

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

Global site tag (gtag.js) - Google Analytics