Flex日志详解
??????log4j对于java开发者最熟悉不过了,log4j不仅可以控制日志输出的目的地,还可以控制日志输出级别,便于调试和发布,一个好的产品需要记录很多日志便于日后的维护,尤其是产品上线之后。
????? 在
?
AbstractTarget:定义了日志的输出地。TraceTarget就是将log输出到trace()函数输出的文件中,也就是flashlog.txt文件中,很多时候我们需要扩展日志输出地满足架构的需求,因为flashlog文件有大小限制,而且输出的日志会覆盖上次的日志。
?
?
LogEventLevel:定义了当前系统可输出的日志级别。
如下表所示。如果现在的level是ALL,那么系统中所有的日志都会被输出。如果是INFO,那么高于INFO的DEBUG信息就不会被输出。一般开发测试的时候级别为DEBUG或者INFO,上线之后调整为ERROR。另外,注意一点FATAL的值为1000,很符合扩展性的需求。这种设计理念在实际项目中经常会用到。
?
?
?
log target 过滤filters
????? logTarget.filters=["mx.rpc.*","mx.messaging.*"];
这个例子中就是指定了我们要输出日志的类和包。只有在mx.rpc和mx.messaging包下的类才能输出log,忽略其他的。也可以是mxml形式:
?
????
?
参数介绍
?includeDate="true",输出的log带日期
?includeTime="true", 输出的log带时间
?includeCategory="true",输出的log带分类信息,也就是哪个类或者控件输出的log
?includeLevel="true",输出的log是否带level信息,如[INFO],[DEBUG]等。?
?Flex提供的log功能如此强大,你是不是想跃跃欲试呢?但是flash并不是那么“完美”,需要完美做以下工作才可以进行log实战。
?Flex的日志可以分为前端日志和后端日志,我们先来了解下前端日志。
?
?logging日志文件。
?
???? 首先要配置mm.cfg文件,如果没有可以自己创建一个,该文件根据操作系统的不同位置也会不同,详见下表格
????
?
??? 在mm.cfg文件中写入:
??????
?
??
日志文件配置完毕,我们就可以测试了,但是我们先来了解下几种记录日志的方法。?(1) Flex Trace?? 我们可以直接在代码中使用Trace方法向FlashLog.txt文件输出log消息。但Trace只能在Flash Debug Player中执行,客户的电脑上一般不是Debug版本,因此最好少用甚至不用Flex Trace来记录日志为好。 ?(2)? FlashTracer Firefox Plugin??? 这是一个相当好用的Firefox插件,可以在Firefox浏览器中实时跟踪log输出,非常利于调试。缺点就是必须用火狐浏览器进行测试,与浏览器耦合性比较大。?(3) Flex Logging API???Flex 提供了一套非常好用的Logging API, 分别在SDK包mx.logging, mx.logging.target和mx.logging.error下。有兴趣的朋友可以去Adobe LiveDoc了解一下其详细用法。
?
? 下面是一个简单的测试例子:
?
?
?
?输入结果如下:1 楼 limingnihao 2011-09-30 请问mm.cfg文件放在什么位置? 2 楼 Sev7en_jun 2011-11-19 首先要配置mm.cfg文件,如果没有可以自己创建一个,该文件根据操作系统的不同位置也会不同,详见下表格 这段有讲对应系统的对应位置
3 楼 Sev7en_jun 2011-11-19 limingnihao 写道请问mm.cfg文件放在什么位置?
logging日志文件。
首先要配置mm.cfg文件,如果没有可以自己创建一个,该文件根据操作系统的不同位置也会不同 楼上没认真看
4 楼 Sev7en_jun 2011-11-19 试了 但没效果,程序可以跑,但是日志没有
我的是win7+flex3
mm.cfg也放到了指定目录,不清楚的是为什么是mm.cfg这个名字很奇怪,程序是怎么加载这个文件的呢?