之前自己在多个项目中总结了一个log framework,暂时就叫GLLog吧。我觉得很多跟AS3相关的,特别是flex或AIR,需要一个log framework来定义输出信息。flex framework本身也带了个,就是稍显简单。
既然讲到定义输出信息,就不得不考虑目标的多样性,比如trace,普通文本,TextArea,XML,或者远程计算机等等。数是数不过来的,这就需要分离具体实现。
不过在实践过程中,我还发现,输出目标和文本格式最好也分离。比如一行一行的log信息,既可以放到文本文件里,也能显示在TextArea组件中;又如XML格式的log,可以放到本地XML文件,也可以作为dataprovider绑定到某个flex组件中。除此以外,还有一个好处就是,可以将存储和显示分离。格式化的log信息被存储在内存中,按照用户需要才显示或者写入文件。
为了做到让GLLog framework尽量简单和通用,我决定将输出目标排除在外(毕竟种类太过繁多),只提供获得格式化log的接口。
下面是GLLog framework的一个大致结构。
接口GLIWriter就定义了格式化方式(它将会被添加到GLLog并负责格式化信息)。以我自己写的GLPureWriter为例,它的作用就是把log一行一行的窜成字符串(注意:并没有声明输出到哪里)。
package org.gainloss.log
{
import flash.events.Event;
import flash.events.EventDispatcher;
/**
* only pure list
*/
public class GLPureWriter extends EventDispatcher implements GLIWriter
{
public function GLPureWriter()
{
//TODO: implement function
}
private var _list:String = "";
public function pushMsg(msg:String):void
{
//TODO: implement function
_list += msg+"\n"
this.dispatchEvent(new Event("NEWLISTMSG"));
}
[Bindable(name="NEWLISTMSG")]
public function get wholeMsgs():Object
{
//TODO: implement function
return _list;
}
}
}
如果要输出到TextArea显示,可以这么做。
<?xml version="1.0" encoding="utf-8"?>
<mx:Window xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="300">
<mx:Script>
<![CDATA[
import org.gainloss.log.*;
[Bindable]
private var writer:GLPureWriter = GLLog.getWriterInstance(GLPureWriter) as GLPureWriter;
]]>
</mx:Script>
<mx:VBox [...]
分享到:
相关推荐
"自己写 .NET Framework" 这个话题实际上非常庞大,涉及到编译器、运行时环境、类库等多个核心组成部分。下面将详细介绍.NET Framework的关键组成部分及其工作原理。 1. **公共语言运行时 (Common Language Runtime...
《MXFramework与SpringBoot开发实战》 在现代的软件开发领域,SpringBoot和自定义框架MXFramework的结合应用已经成为一种高效、便捷的方式。本篇内容将深入探讨如何利用这两个强大的工具进行开发实战,帮助开发者更...
vscode 编写 RobotFramework 详解 Vscode 是一个功能强大且广泛使用的代码编辑器,而 RobotFramework 是一个流行的自动化测试框架。本文将指导读者如何使用 Vscode 编写 RobotFramework 项目,包括安装 Vscode、...
安装.NET Framework失败后上网找的卸载工具,亲测卸载后可以完成安装.NET Framework。 一下位介绍: ====================== 分享可以完美卸载.NET Framework 1.0~4.5的framework卸载工具。.NET Framework几乎是...
简单1步搞定 NET Framework 3.5 ,离线下载简单1步搞定 NET Framework 3.5 ,离线下载简单1步搞定 NET Framework 3.5 ,离线下载简单1步搞定 NET Framework 3.5 ,离线下载简单1步搞定 NET Framework 3.5 ,离线下载...
.NET Framework是微软开发的一个软件框架,它为开发者提供了在Windows操作系统上构建和运行应用程序的环境。这个框架包含了语言运行时(CLR,Common Language Runtime)和类库,支持多种编程语言,如C#、VB.NET、C++...
Win10系统自带的.net framework版本为4.7,自己安装.NET Framework 4.5.2时会提示:这台计算机中已经安装了 .NET Framework 4.5.2 或版本更高的更新。 解决方法
基于Python的robot Framework环境搭建简单一个脚本就搞定!
4.0.30319版本是在.NET Framework 4.0发布后的一个服务包,可能包含了自4.0发布以来的所有安全更新、重要更新和可选更新。安装此版本可以确保你的系统能够运行依赖于.NET Framework 4.0的应用程序,并且这些应用程序...
《全面解析:彻底卸载.NET Framework 2.0的实用工具》 在计算机技术日新月异的今天,软件的安装与卸载是日常维护工作的一部分。然而,有些软件,如.NET Framework 2.0,由于其特殊性,可能会在卸载过程中遇到问题,...
可以安装 .NETFramework4 等所需要的环境 可以用于的问题: 找不到 .NETFramework,Version=v4.5 的引用程序集。要解决此问题,请为此框架版本安装开发人员工具包(SDK/目标包)或者重新定向应用程序。可在 ...
《.NET Framework版本详解》 .NET Framework是微软公司推出的一款重要的开发平台,它为开发者提供了构建、部署和运行各种类型的应用程序的能力。本篇文章将详细探讨.NET Framework的几个关键版本,包括它们的主要...
.NET Framework 4.5是微软开发的一个全面的、统一的编程模型,用于构建和运行下一代的应用程序和Web服务。这个框架版本在.NET Framework 4的基础上进行了大量的改进和新功能的添加,旨在提升开发者的工作效率,增强...
该框架自发布以来,一直受到开发者们的广泛使用,尤其在Windows系统上开发桌面应用和服务器应用程序时,.NET Framework是不可或缺的部分。 一、.NET Framework 4.7.2概述 .NET Framework 4.7.2是.NET Framework...
2. **版本历史**:.NET Framework自2002年首次发布以来,经历了多个版本的迭代,4.2是其中的一个重要版本,它在4.0、4.5、4.5.1、4.5.2、4.6和4.7等版本基础上进行了改进和增强。 3. **兼容性和平台**:.NET ...
《.NET Framework经典案例代码VB.NET类解析》 在编程领域,.NET Framework是一个不可或缺的开发平台,尤其对于使用Visual Basic .NET(VB.NET)语言的开发者而言。本篇文章将深入探讨.NET Framework的经典案例,...
Robot Framework 教程 - 使用For循环 在自动化测试过程中,使用For循环来对某个动作进行重复操作是很普遍的行为。在Robot Framework 中,各种测试库中均提供了多种方式的For循环结构,在其中覆盖了大部分类型的循环...
自2002年发布.NET Framework 1.0以来,它已经经历了多个版本的迭代,包括1.1、2.0、3.0、3.5、4.0、4.5、4.5.1、4.5.2、4.6、4.6.1等。每个新版本都引入了新的特性和改进,以适应不断变化的开发需求和技术趋势。 ...
.NET Framework 3.5是微软开发的一个重要组件,它为Windows操作系统提供了运行基于.NET Framework的应用程序所需的环境。在Windows 10系统中,虽然.NET Framework 4.0及更高版本预装,但.NET Framework 3.5需要单独...
3. 在“引用”选项卡中,找到“目标 .NET Framework”选项,然后选择要修改的版本。 情况二:通过高级编译选项修改 NET Framework 版本 1. 选择项目,然后右键点击,选择“属性”。 2. 在项目属性页面,选择“编译...