- 浏览: 533983 次
- 性别:
- 来自: 大连
文章分类
- 全部博客 (240)
- Java (25)
- Flex (46)
- Sybase (26)
- Sqlserver (7)
- .NET (1)
- .NET-Silverlight (11)
- Hibernate (5)
- Korn-shell (2)
- Perl (5)
- Unix & Linux (11)
- Ruby (3)
- SVN (2)
- Tomcat (1)
- CSS (5)
- Web (2)
- English (3)
- SQL (9)
- Qlikview (4)
- Spring (7)
- javascript (2)
- weblogic (5)
- iphone (1)
- 网络 (5)
- 随 (23)
- AutoSys (1)
- Hermes (2)
- RPM (2)
- CA (1)
- Operating System (1)
- SSIS (3)
- Windows (2)
- excel (1)
- SSRS (1)
- 活动 (23)
- Eclipse (2)
- Angular (0)
- Python (0)
- AWS (0)
- Android (0)
最新评论
-
devcang:
long t1 = System.nanoTime();
java中取得微秒级的时间 -
Sev7en_jun:
Sev7en_jun 写道 ExternalInterface ...
flex"页面跳转" -
Sev7en_jun:
ExternalInterface.call("fu ...
flex"页面跳转" -
lujinan858:
Incorrect syntax near 'fddActiv ...
Sybase alter 用法 -
Sev7en_jun:
Alter table TestItem drop COLUM ...
Sybase alter 用法
我们在编写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的例子
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="init()" horizontalAlign="center" > <mx:Script> <![CDATA[ import mx.logging.LogLogger; import mx.logging.ILogger; import mx.logging.Log; import mx.logging.LogEventLevel; import mx.logging.targets.TraceTarget; private var logger:ILogger; private function init():void{ var logTarget:TraceTarget = new TraceTarget(); logger = new LogLogger("xx"); logTarget.filters = ["main"]; logTarget.level = LogEventLevel.ALL; logTarget.includeCategory = true; logTarget.includeDate = true; logTarget.includeLevel = true; logTarget.includeTime = true; logTarget.addLogger(logger); Log.addTarget(logTarget); //trace("create complete"); } private function clickBtn():void{ //var logger:LogLogger = new LogLogger("*"); logger.debug("It's the debug"); logger.info("It's the info"); logger.warn("It's the warn"); logger.error("It's the error"); logger.fatal("It's the fatal"); //trace("It's the first click on btn"); } ]]> </mx:Script> <mx:Button id="btn" label="OK" click="clickBtn()"/> </mx:Application>
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中)
<logging> <target class="flex.messaging.log.ConsoleTarget" level="Debug"> <properties> <prefix>[BlazeDS]</prefix> <includeDate>false</includeDate> <includeTime>false</includeTime> <includeLevel>false</includeLevel> <includeCategory>false</includeCategory> </properties> <filters> <pattern>Endpoint.*</pattern> <pattern>Service.*</pattern> <pattern>Configuration</pattern> </filters> </target> </logging>
1) Level
在以上的配置中,我们可以发现level属性,Flex中一共有6种level:
level | Description |
All | Logs all messages |
Debug | Logs debug message. Debug messages indicate internal Flex activities |
Error | Logs error messages. Error messages indicate when a critical service is not available or a situation restricts use of the application. |
Info | Logs information messages. Information messages indicate general information to the developer or administrator. |
None | No messages are logged. |
Warn | Logs 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中只配置 了<pattern>com.storm.*</pattern>,那么只有位于包com.storm下的类的logging输 出才会被打印出来。
总之,Flex的logging在概念方面和java非常相似,但是flex logging的灵活性相比java要低,但这也恰恰却更利于flex开发人员学习与理解。
发表评论
-
Flex Remote Object IE 问题(转)
2010-04-21 16:43 1905最近在开发中遇到一个怪异的问题: 1.F ... -
使用updateComplete事件代替verticalScrollPosition绑定赋值(转)
2010-03-22 14:30 1405flex组件的 verticalScrollPositio ... -
Flex 中的 DataGrid 自动刷新(转)
2010-03-18 13:56 4219当修改 DataGrid 实例的数据, 即修改数据源(data ... -
Flex 应用的初始化顺序(转)
2010-03-16 14:46 1097preloader->systemManager-> ... -
flex TabNavigator 切换之前给出提示(转)
2010-03-02 16:25 3015<?xml version="1.0" ... -
十二个非常有用的Flex函数Source In Flex(转)
2010-03-02 16:06 1411No.1 Copy content to clipboar ... -
移除Flex被验证控件的红边框和错误Tip提示
2010-02-25 16:32 1479Removing the red border from co ... -
EventListener的add和remove
2010-02-25 16:25 1635<?xml version="1.0" ... -
Flex中如何去掉Tree控件默认文件夹图标、叶子节点图标
2009-12-24 14:11 2499利用folderClosedIcon和folderOpenIc ... -
如何使用Flex HDividedBox
2009-12-23 09:56 1211<?xml version="1.0" ... -
Flex tree组件数据源、图标等修改
2009-12-22 15:30 3127<?xml version="1.0" ... -
FLEX Tree 控件动态加载
2009-12-22 15:26 3678首先给Tree设置一个数据源: [Bindable] pr ... -
Flex Tree 组件使用的两个小技巧
2009-12-22 15:20 2394学习了一段时间的Flex,感觉Flex再成熟一些的话,Flex ... -
Flex异步令牌AsyncToken的用法介绍
2009-12-22 14:44 5001什么是AsyncToken?官 ... -
Flex将Array作为Tree的数据源
2009-12-22 11:40 1542<?xml version="1.0" ... -
Flex XML转ArrayCollection
2009-10-29 22:21 3008mxml: <?xml version="1 ... -
Flash log 插件
2009-10-29 16:15 1071Flash Tracer https://addons.mo ... -
用一个HelloWorl例子手把手教会你使用BlazeDS
2009-10-21 10:58 1278什么是BlazeDS呢? ... -
整合Flex+struts+BlazeDS+tomcat+mysql
2009-10-13 14:41 4451Flex 技术是一种完善的 RIA 技术,因此与 we ... -
flex"页面跳转"
2009-10-13 14:37 5737其实对于这个题目是不恰当的,因为flex中是没有页面这个概念的 ...
相关推荐
7. **commons-logging.jar**:Apache Commons Logging库,提供了一种通用的日志接口,可以适应多种具体的日志实现。在Flex与Java交互的过程中,日志记录是调试和问题排查的重要工具。 综合来看,这些jar包主要用于...
在CSDN找半天找不到一个全面的,我一生气,传了个全面的上来,包括 ...commons-logging.jar flex-messaging-common.jar flex-messaging-core.jar flex-messaging-proxy.jar flex-messaging-remoting.jar 呵呵
commons-logging.jar flex-messaging-common.jar flex-messaging-core.jar flex-messaging-proxy.jar flex-messaging-remoting.jar 在 web.xml 中添加 HttpFlexSession 和 Servlet 映射。HttpFlexSession ...
可以考虑使用第三方日志库,如AS3Commons的Logging框架,它提供了更完善的日志管理和配置能力。 总的来说,有效的日志记录能极大地提升Flex Air应用的可维护性和稳定性。通过自定义日志工具类,开发者可以定制适合...
commons-logging.jar flex-messaging-common.jar flex-messaging-core.jar flex-messaging-proxy.jar flex-messaging-remoting.jar 在 web.xml 中添加 HttpFlexSession 和 Servlet 映射。...
BlazeDS Remoting and Logging BlazeDS是一种强大的服务器端技术,用于实现Flex与Java之间的高效通信。本章将重点介绍如何配置和使用BlazeDS进行远程调用及日志记录。通过BlazeDS,开发者可以轻松地实现数据推送、...
- **Apache Commons库**:Struts经常依赖于Apache Commons库,如commons-logging.jar、commons-fileupload.jar等。 - **其他的依赖库**:可能还有其他库文件,如JSON库(json.org的json.jar),用于数据序列化和反...
- **Java服务器端日志**: 使用Java的logging框架如Log4j,记录服务器端的日志,辅助定位问题。 6. **安全性与优化** - **安全考虑**: 实现Flex和Java交互时,需要考虑数据传输的安全性,可能需要添加SSL/TLS加密...
5.3.5 Logging 167 5.3.6 Security 169 5.3.7 运行期配置 170 5.4 BlazeDS的整合 175 5.5 小结 177 第6章 Flex+BlazeDS应用开发实例 178 6.1 需求分析 178 6.2 数据库设计 179 6.3 用Flash Builder配置企业...
通过SLF4FX,开发者可以利用已有的SLF4J(Simple Logging Facade for Java)接口在Java端,以及自定义适配器在Flex端实现日志记录。 **SLF4J简介:** SLF4J(Simple Logging Facade for Java)是一个为各种日志框架...
其余的库如commons-beanutils、commons-collections、commons-lang、commons-logging都是Apache Commons项目的一部分,提供了各种通用的Java工具类,如BeanUtils帮助处理Java Bean,Collections提供了集合操作的扩展...
SLF4FX是一个专门为Flex应用程序设计的日志框架,它提供了与Java中的标准日志记录库SLF4J(Simple Logging Facade for Java)类似的接口,使得在Flex客户端和Java服务端都能实现统一的日志记录。这个框架使得开发者...
6. **commons-logging-1.1.1.jar**:Apache Commons Logging是Java的日志抽象层,允许开发者选择底层的日志实现。在处理JSON交互时,日志记录对于调试和诊断问题至关重要。 使用这些库,开发者可以在Flex客户端和...
5. BlazeDS remoting and logging 6. Flex messenging Part 3: Going above and beyond 7. Securing and personalizing your application 8. Charting with DeGrafa 9. Desktop 2.0 with Adobe AIR 10. ...
在这些方法中,你可以使用Java的日志框架,如Log4j或java.util.logging,来记录相关信息。 3. **暴露Spring服务**:通过Spring的Web服务支持,如`RestTemplate`或`@RestController`,将后端服务暴露为HTTP接口。...
### Maven构建全栈式Flex、BlazeDS和Spring集成解决方案——第三部分:整合全部应用 #### 知识点概述 本篇文章将详细介绍如何利用Maven工具链构建一个完整的Flex、BlazeDS和Spring集成解决方案。文章分为三个部分...
Python的`logging`库可以帮助记录调试信息、错误和警告,以便分析测试结果。 综上所述,"test_diskParMgr_Flex1.rar"包含的Python脚本可能是一个全面的测试框架,用于评估名为`diskParMgr_Flex1`的磁盘管理解决方案...
在FLEX中实现日志记录,可以使用内置的logging API,如Log类,或者引入第三方日志库如 Cairngorm 或 PureMVC。日志记录不仅可以记录用户操作,还可以记录程序内部的状态变化,如数据加载、网络请求等。通过将日志...
7. **SLF4J (Simple Logging Facade for Java)**:SLF4J是一个日志抽象层,允许开发者在运行时选择任何日志实现,如Logback或Log4j。这样可以提高项目的可移植性和灵活性。 8. **CXF 2.3.0**:Apache CXF是一个开源...