Flex Log模块入门及扩展
(一)入门
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发送器
使用步骤
1.. 新建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则不会被输出
2. 将TraceTarget添加到Log中
Log.addTarget(traceTarget);//可以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,&rs
相关文档:
应为设计要求, 我需要计算String的宽度,
搜索了下网上的文章, 看到有用measureText(string)的,
可是用了下发现, 这个function得到的string大小, 不会根据字体的大小, 粗黑的变化,
始终返回同一个值, 也许是我的用法不对, 最后我没有这个方法,
改用了另外一个方法:
private function getTextWidth():int
{
&nbs ......
http://www.mvelopes.com/mvelopes/online_budget.php flex
做的分析软件
http://www.alex-uhlmann.de/flash/adobe/blog/distortionEffects/effectCube/
这玩意,Flex2的扭曲变形效果,呵呵,有可能你用得到flex中
http://webmessenger.yahoo.com/
yahoo的webmessenger
http://www.picnik.com/app
这个也不错
http: ......
在Flex应用中常常需要以一定的格式来显示时间,以下是一种做法。
首先创建一个DateFormatter 控件
<mx:DateFormatter id="df" formatString="YYYY-MM-DD JJ:NN:SS"/>
formatString="YYYY-MM-DD JJ:NN:SS"指定了时间的格式为2009-6-20 19:02:27,这里可以设置成自己需要的格式。
然后写个函数
......
用Flex4加载Flex3的组件时,发现了这个问题:
当用spark添加一个mx组件时不会有问题,但当这个mx组件中还有其他组件
例如<mx:HBox><mx:Canvas/></mx:HBox>被添加到<s:Group></s:Group>
(注:通过AS代码使用addElement()添加,而不是直接写到mxml中)
stage.frameRate会瞬间达到1000!
之 ......