Flex集成一个Log框架,可以完成很多用trace()做debug时完成不了的功能输 出log时可以实现分等级(共5+1级),用过滤器指定输出的类,以及输出方式(默认为 trace)。
需要用到的类如下:
该类位于mx.logging包中,共需要三个类和一个接口
mx.logging.Log – 主类,有几个静态方法,添加/移除 TraceTarget和获取ILogger
mx.logging.LogEventLevel – 定义了log等级的常量
mx.logging.targets.TraceTarget – logger器,定义log输出等级,过滤器和输出方式
mx.logging.ILogger – 由Log.getLogger(‘ClassName’)获取到的Logger发送器
使用步骤新建TraceTarget
var traceTarget:TraceTarget = new TraceTarget();
traceTarget.filters = [\'spark.components.*\'\'myPackage.MyClass\']; //创建过滤器, 可以直接用class名,也可以使用*类过滤整个包
traceTarget.filters = [*]; //这样写过滤器,就是输出全部类了
traceTarget.includeDate = true; //输出信息是否包含日期
traceTarget.includeTime = true; //输出信息是否包含时间
traceTarget.includeLevel = true; //输出信息是否包含等级
traceTarget.includeCategory = true; //输出信息是否包含class名
traceTarget.level = LogEventLevel.INFO; //设定输出的等级
Log等级说明
log 共分为5级和ALL
分别是ALL(0) DEBUG(2) INFO(4) WARN(6) ERROR(8) FATAL(1000)
每 个等级在输出时都包含了自身及后续等级的信息
即 当把等级设定为INFO时,INFO WARN ERROR FATAL中的信息都会被输出,而排在INFO前面的DEBUG则不会被输出
将 TraceTarget添加到Log中
Log.addTarget(traceTarget);
//移除的方法:Log.removeTarget(traceTarget);
获取 ILogger并输出
var info:ILogger = Log.getLogger(‘myPackage.MyClass’); //获取ILogger,getLogger的参数用于过滤器使用
info.info(‘trace log massege’); //输出指定等级的log信息
info.debug(‘trace log massege‘’trace log massege2′); //参数可以任意个,与trace()相同
info.error(‘trace log massege‘);
info.warn(‘trace log massege‘);
info.fatal(‘trace log massege‘);
info.log(LogEventLevel.INFO’trace info’\'masseage’); //
或者直接点
Log.getLogger(‘spark.components.Button‘).warn(‘trace log massage’);
扩展自定义一个简单/安全getLogger
Log.getLogger() 方法需要输入完整的class名作为参数,这样很麻烦而且容易出错
可以扩展该功能,直接使用对象本身作为参数
例 如:
public function myGetLogger(classobject:Object):ILogger{
var _className:String = flash.utils.getQualifiedClassName(classobject);
var _category:String = _className.replace(‘::’’.’);
return Log.getLogger(_category);
}
自定义输出位置
TraceTarget中默认使用trace()进行输出,该功能可以自定义,例如输出到服务器端或者某个TextArea中去
方法是继承 TraceTarget或LineFormattedTarget(TraceTarget的父类), 然后override internalLog方法(注意该方法使用了mx_internal命名空间)
例
package myPackage{
import mx.core.mx_internal;
import mx.logging.targets.TraceTarget;
import mx.rpc.http.HTTPService;
use namespace mx_internal;
public class MyTraceTarget extends TraceTarget
{
public function MyTraceTarget()
{
super();
}
override mx_internal function internalLog(message:String):void{
var httpService:HTTPService = new HTTPService();
httpService.url = ‘http://localhost/logAction’;
httpService.send({log:message});
}
}
}
分享到:
相关推荐
flex 拖拽功能 flex 拖拽功能中文文档
myeclipse flex tomcat环境配置与使用,myeclipse中开发flex系统
Flex技术中AdvancedDataGrid使用方法
Flex与Bison使用教程
结合spring,hibernate配置flex的学习,教你学会flex最基本的配置
Flex所有功能演示及代码,下载后打开explorer\explorer.html即可对比查看源码,很直观,用的时候复制一段代码也可以了
1、通过BlazeDS实现Flex与service方法通信,即WEB项目:集成Flex3+BlazeDS3.2 2、BlazeDS托管于Spring,便利于使用Spring Bean,即WEB项目:集成Flex3+BlazeDS3.2+Spring2.5.6 <涉及Spring2.5.6+BlazeDS2.3.4集成> ...
这个就相当于flex的CSS2.0帮助文档 详细的告诉你flex中每个样式的使用方法
flex与jsp结合使用,可以让您更好的学习和使用flex,欢迎大家提出宝贵意见,大家共同学习和进步~~
知道安装配置flex。 开发人员可以使用代码提示和调试工具,高效地进行 Flex 应用程序编码和调试。依靠 Flex Builder,您可以将利用您的开发小组的每个成员生成更有效的 Flex 丰富互联网应用程序。
flex+java+blazeds配置最终版
flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图...
flex 翻页特效 flex 翻页功能源码
Flex在线拍照功能:Flex+flash ;Flex+flash; Flex+flash ;Flex+flash
flex基础列子,利用flex技术实现计算器功能
去除flex builder试用版水印 去除flex chart 水印方法
flex连接数据库的三种方法
Flex万年历记事本_flex源码
这个小例子是使用Java作为服务端、Flex做前台,对一个xml文件的读取和写入。 环境:MyEclipse6.0.1+Flex3插件版,jdk1.6,tomcat6.0,dom4j1.6.1,lcds.war, 使用技术:1.Java+flex,及其对象的转换。 2.Java方面...