精选文章 Flex Logging

Flex Logging

作者:iteye_15759 时间: 2021-07-06 09:11:34
iteye_15759 2021-07-06 09:11:34
【摘要】
                    我们在编写Flex应用程序的时候经常会忽略logging,发现问题需要debug的时候用的最多的就是Alert,其实使用Flex的logging功能相当简单。  
  
 1. Client Side Logging   
 Flex 的 Logging 功能有两种类型。Client side的了logging 和 Server side 的logg...

我们在编写Flex应用程序的时候经常会忽略logging,发现问题需要debug的时候用的最多的就是Alert,其实使用Flex的logging功能相当简单。

 

1. Client Side Logging

Flex 的 Logging 功能有两种类型。Client side的了logging 和 Server side 的logging。Client side 的logging 比较适合程序员在开发的过程中进行代码追踪,调试。可能有的朋友会问,不是有强大的Flex Builder用来开发调试吗,干嘛还要不厌其烦的一行行打log?Flex Builder 是很强大,但在某些开发场景下不一定用的上FlexBuilder,譬如我们使用IBM RAD来开发Web应用,后台使用java,前台使用flex,中间的数据服务使用BlazeDS,在这种情况下,如何对前端代码Debug?所以 Client side logging 作为调试利器还是少不了的。下面简单介绍一下Flex的Client Side Logging。

 

1) 配置logging文件

Flex的Logging不象Java的Logging,我们不能自定义logging文件。Flex的logging文件位置都比较固定,具体位置视操作系统的不同而有所区别。Windows2000/XP系统一般在 C:\Documents and Settings\username\Application Data\Macromedia\Flash Player\Logs \FlashLog.txt 。除了FlashLog.txt文件外,我们还要设置另外一个文件mm.cfg在目录 C:\Documents and Settings\username 下,配置内容参考如下:

ErrorReportingEnable=1

TraceOutputFileEnable=1

MaxWarnings=1

 

2) Flex Trace

我们可以直接在代码中使用Trace方法向FlashLog.txt文件输出log消息。Trace方法只能在Flash Debug Player中执行。

 

3) FlashTracer Firefox Plugin

这是一个相当好用的Firefox插件,可以在Firefox浏览器中实时跟踪log输出,非常利于调试,下载地址是https://addons.mozilla.org/en-US/firefox/search?q=FlashTracer&cat=all

 

4) Flex Logging API

Flex 提供了一套非常好用的Logging API, 分别在SDK包mx.logging, mx.logging.target和mx.logging.error下。有兴趣的朋友可以去Adobe LiveDoc了解一下其详细的用法http://livedocs.adobe.com/flex/3/html/help.html?content=logging_09.html

什么都不说了,下面提供一个简单的使用LoggingAPI的例子


 
		
	 
	

2. Server Side Logging

Flex的Server Side Logging其实是Flex Logging API的一个配置版本,一般我们讨论Server Side Logging指的都是Flex的Data Services Logging,以BlazeDS为例,我们可以如下配置Server Side Logging (在BlazeDS的services-config.xml中)

   [BlazeDS] false false false false   Endpoint.* Service.* Configuration  

1) Level

在以上的配置中,我们可以发现level属性,Flex中一共有6种level:

 

level Description
AllLogs all messages
DebugLogs debug message. Debug messages indicate internal Flex activities
ErrorLogs error messages. Error messages indicate when a critical service is not available or a situation restricts use of the
application.
InfoLogs information messages. Information messages indicate general information to the developer or administrator.
NoneNo messages are logged.
WarnLogs warning messages. Warning messages indicate that Flex encountered a problem with the application, but the
application does not stop running.

 

Level的级别顺序为All-Debug-Info-Warn-Error-None,一般在开发过程中开启Info级别来追踪Flex数据传递中的问题就已经足够了,而在Production环境下开启Error级别更为合理。

 

2) Target Class

上面的配置中中比较重要的是Target Class,BlazeDS默认是flex.messaging.log.ConsoleTarget, Flex中Target的概念和Log4j中Appender的概念类似,我们不仅可以将log打印到console(ConsoleTarget),而 且可以输出至文件中(TraceTarget),特别地,还可以使用flex.messaging.log.ServletLogTarget来将Log 记录到默认的servlets中。Target是一个全局设置,所以如果我们在ActionScipts中创建Target就必须使用Log类的全局方法 addTarget来添加Target,从而使得Flex的log event能被该Target接收到。

 

3) Properties

  • prefix: log消息的前缀,会打印在log消息的最前面
  • includeDate: log消息是否输出日期
  • includeTime: log消息是否输出时间
  • includeLevel: 是否输出级别信息
  • includeCategory: 是否输出分类信息

 

4) Filter

再看一下filter配置,这主要是用来对Log作category过滤的。只有符合配置设置的log才会被打印出来。Flex Logging中category概念同样类似于Log4j中的category,Flex编程规范推荐我们使用类的全限定名来作为logger的 category名,我们一般在新建logger的时候制定logger所属的分类。

private var logger:ILogger = new LogLogger("com.storm.MyPlane")

如上所示,logger的category即是“com.storm.MyPlane”,如果我们在Fliter中只配置 了com.storm.*,那么只有位于包com.storm下的类的logging输 出才会被打印出来。

 

 总之,Flex的logging在概念方面和java非常相似,但是flex logging的灵活性相比java要低,但这也恰恰却更利于flex开发人员学习与理解。

勿删,copyright占位
您找到想要的结果了吗?
Flex Logging
提交成功!非常感谢您的反馈,我们会继续努力做到更好
分享文章到微博
分享文章到朋友圈

上一篇:一个linux下g++使用的 makefile 模板

下一篇:最新正则验证

您可能感兴趣

  • Flex vbox中的子项的visible设置为false时,怎么能让后面的子项顶替此子项

    flex vbox 中 当vbox中的子项的visible设置为false时.怎么能让后面的子项顶替此子项 满意答案 好评率:100% 如:在vobx中有:<mx:HBox width="335" horizontalAlign="center" id="chineseNames" visible="false" includeInLayout=...

  • Flex 备忘

     1.  读取从swf传进来的参数 var first_name : String = FlexGlobals.topLevelApplication.parameters.firstname;   2.  FXG使用fill对图形本体进行上色,使用stroke对图形边框进行上色,而fill(填充)和stroke(画笔)有三种上色方法:   ...

  • flex编写图表遇到json问题处理

      最近写网站的时候,总是会有人要求提供报表的功能。一种是另存为Excel的方法,另一种是生成图形化的方式。图形化的方式,看起来更直观一些。给人的感觉也很不错。现在主要的图形化报表展示多数是通过flash来展示,因为flash基本上是所有的电脑上都会安装有flash插件,所以为了大众化,此次开发的时候就采用了flex来做图表的展示...

  • Flex让Slider控件拖动时显示Tooltip

    格式化与自定义Slider中显示的Tooltip 下面的实例演示了怎样利用dataTipFormatFunction格式化Slider中显示的Tooltip ,和通过css设置Tooltip的外观。 在代码中你也会看到Slider的 tickInterval ,snapInterval, value, liveDragging 等属性的用法  ...

  • ArcGIS WebADF框架与FLEX API框架的比较

    ArcGIS Server是一个分布式系统,它由GIS服务器、Web服务器、Web浏览器、桌面产品四个部分组成,可以分别部署在不同的机器,它们分别在进程的管理、启动和关闭以及对象运行的服务器的负载均衡方面起着专门的作用。Web ADF 和 Flex API都是为构建Web应用提供的开发组件。 [b]WebADF框架[/b] ArcGIS Web A...

  • Flex数据绑定的四种方式

    本文和大家重点讨论一下Flex数据绑定的几种方式,在Flex中,Flex数据绑定主要有四种方式,分别为:"{}"绑定表达式、[Bindable]绑定符号、<mx:Binding>标签和BindingUtils动态绑定,下面一一对这四种Flex数据绑定方式进行详细介绍。 Flex数据绑定  现在数据库或是某个文件里有一些数据需...

  • Flex:如何实现利用Flex隐藏任务栏图标

    <?xml version="1.0" encoding="utf-8"?> <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s=" library://ns.adobe.com/flex/spark" xmlns:mx=" library://ns....

  • FLEX quick start

    安装 下载:FlashBuilder_4_Plugin_LS10.exe 约403mb flashplayer_10_plugin_debug.exe 约3mb,没装成功   执行FlashBuilder_4_Plugin_LS10.exe,选择非中文路径。   修改eclipse\dropins下,com.adobe.flexbuil...

CSDN

CSDN

中国开发者社区CSDN (Chinese Software Developer Network) 创立于1999年,致力为中国开发者提供知识传播、在线学习、职业发展等全生命周期服务。
Flex Logging介绍:华为云为您免费提供Flex Logging在博客、论坛、帮助中心等栏目的相关文章,同时还可以通过 站内搜索 查询更多Flex Logging的相关内容。| 移动地址: Flex Logging | 写博客