首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

Flex日记使用及配置

2013-03-01 
Flex日志使用及配置? ? Flex集成一个Log框架,可以完成很多用trace()做debug时完成不了的功能输 出log时可

Flex日志使用及配置

? ? Flex集成一个Log框架,可以完成很多用trace()做debug时完成不了的功能输 出log时可以实现分等级(共5+1级),用过滤器指定输出的类,以及输出方式(默认为 trace)。
需要用到的类如下

Flex日记使用及配置

? ??TraceTarget:继承AbstractTarget,该类提供使用全局trace()方法输出日志消息的记录程序目标。

? ??Log:主类,有几个静态方法,添加/移除 TraceTarget和获取ILogger。

? ? LogEventLevel:定义了log等级的常量。

? ??

? ? Log等级说明:5级 和 All

? ? 分别是ALL(0) DEBUG(2) INFO(4) WARN(6) ERROR(8) FATAL(1000)
? ? 每 个等级在输出时都包含了自身及后续等级的信息,即当把等级设定为INFO时,INFO WARN ERROR FATAL中的信息都会被输出,而排在INFO前面的DEBUG则不会被输出?

?

? ? example :

<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"                 layout="absolute"                 width="100%"                 height="100%"                 creationComplete="init()">    <mx:Script>        <![CDATA[        import com.commons.STraceTarget;            import mx.logging.Log;            import mx.logging.LogEventLevel;            import mx.logging.LogLogger;                        private var logger:LogLogger                        private function init():void            {                var logTarget:STraceTarget;                logTarget = new STraceTarget(); //继承TraceTarget                logTarget.filters = ["com.*"];                logTarget.level = LogEventLevel.ALL;                logTarget.includeCategory = true; //输出信息是否包含class名                logTarget.includeLevel = true; //输出信息是否包含等级                logTarget.includeDate = false; //输出信息是否包含日期                logTarget.includeTime = false; //输出信息是否包含时间                logger = Log.getLogger("Test") as LogLogger; //此处getLogger参数只是作为标志位使用,如果此处写为 com.Test(com包下面并没有Test类)也可以输出日志信息,详细可参考getLogger方法                //logTarget.addLogger(logger); //使用指定的记录程序设置此目标                Log.addTarget(logTarget); //允许指定的目标开始接收日志事件的通知。            }            private function logMessage():void            {                logger.debug(":debug......");                logger.info(":info......");                logger.error(":error......");            }        ]]>    </mx:Script>    <mx:Button label="add Message" click="logMessage()" />    </mx:Application>

? ??

? ? 此处STraceTarget继承TraceTarget:

package com.commons{import mx.controls.Alert;import mx.core.mx_internal;import mx.logging.targets.TraceTarget;use namespace mx_internal;public class STraceTarget extends TraceTarget{public function STraceTarget(){super();}/** * 由该方法输出日志,可以重写此方法以实现将日志写入服务器(需要服务支持),或者将日志写入本地 */override mx_internal function internalLog(message:String):void{Alert.show(message);}}}

?

?

? ?

热点排行