本文使用一个简单的登录项目,示例flex的log框架使用。项目视图非常简单,包括2个界面:登录界面(LoginPanel)和欢迎界面(HelloPanel)。
登录界面如下图:
欢迎界面如下图:
一 使用trace日志处理
在LoginPanel和HelloPanel中分别增加上下面日志处理函数
private function userTraceLog(name:String,passwd:String):void{
trace(new Date());
trace("LoginPanel name:"+name+" passwd:"+passwd);
}
输出如下:
Wed Mar 30 15:59:40 GMT+0800 2011
LoginPanel name:swflash passwd:aaaaa
Wed Mar 30 15:59:40 GMT+0800 2011
HelloPanel name:swflash passwd:aaaaa
LoginPanel name:swflash passwd:aaaaa
Wed Mar 30 15:59:40 GMT+0800 2011
HelloPanel name:swflash passwd:aaaaa
二 使用日志功能
1)在Application中初始化日志框架
private function initLog():void{
//创建日志Target
var logTarget:TraceTarget = new TraceTarget();
//设定日志级别
logTarget.level = LogEventLevel.DEBUG;
//设置日志格式
logTarget.includeDate = true;
logTarget.includeTime = true;
logTarget.includeCategory = true;
logTarget.includeLevel = true;
// 开启日志记录
Log.addTarget(logTarget);
}
2)在LoginPanel和HelloPanel中增加上日志输出
private const myLogger:ILogger=Log.getLogger("LoginPanel");
private function userLog(name:String,passwd:String):void{
myLogger.info(" name {0} passwd {1}",name,passwd);
}
这里使用info,用于记录系统的登录登出
写道
private const myLogger:ILogger=Log.getLogger("HelloPanel");
private function userLog(name:String,passwd:String):void{
myLogger.debug(" name {0} passwd {1}",name,passwd);
}
private function userLog(name:String,passwd:String):void{
myLogger.debug(" name {0} passwd {1}",name,passwd);
}
这里使用debug,用于调试的时候检测数据是否正常。
3)运行,输出如下:
写道
3/30/2011 16:11:34.890 [INFO] LoginPanel name swflash passwd aaa
3/30/2011 16:11:34.906 [DEBUG] HelloPanel name swflash passwd aaa
3/30/2011 16:11:34.906 [DEBUG] HelloPanel name swflash passwd aaa
4 )调整初始化的日志级别
logTarget.level = LogEventLevel.INFO;
运行,输出如下:
写道
3/30/2011 16:13:05.765 [INFO] LoginPanel name swflash passwd 123456
可以发现,在HelloPanel未做任何代码调整的情况下,其中的调试信息并未输出
小结:
对比trace和log可以发现,Log框架使用过程要比trace函数要简洁、方便、灵活许多。
日志级别的说明,参考下图:
![](/upload/picture/pic/85563/86fb62c2-3e08-3d92-a343-574ac2e6b7e9.png)
相关链接:http://livedocs.adobe.com/flex/3/html/help.html?content=logging_09.html