之前自己在多个项目中总结了一个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的结合应用已经成为一种高效、便捷的方式。本篇内容将深入探讨如何利用这两个强大的工具进行开发实战,帮助开发者更...
安装.NET Framework失败后上网找的卸载工具,亲测卸载后可以完成安装.NET Framework。 一下位介绍: ====================== 分享可以完美卸载.NET Framework 1.0~4.5的framework卸载工具。.NET Framework几乎是...
vscode 编写 RobotFramework 详解 Vscode 是一个功能强大且广泛使用的代码编辑器,而 RobotFramework 是一个流行的自动化测试框架。本文将指导读者如何使用 Vscode 编写 RobotFramework 项目,包括安装 Vscode、...
简单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 ,离线下载...
Win10系统自带的.net framework版本为4.7,自己安装.NET Framework 4.5.2时会提示:这台计算机中已经安装了 .NET Framework 4.5.2 或版本更高的更新。 解决方法
.NET Framework是微软开发的一个软件框架,它为开发者提供了在Windows操作系统上构建和运行应用程序的环境。这个框架包含了语言运行时(CLR,Common Language Runtime)和类库,支持多种编程语言,如C#、VB.NET、C++...
基于Python的robot Framework环境搭建简单一个脚本就搞定!
《全面解析:彻底卸载.NET Framework 2.0的实用工具》 在计算机技术日新月异的今天,软件的安装与卸载是日常维护工作的一部分。然而,有些软件,如.NET Framework 2.0,由于其特殊性,可能会在卸载过程中遇到问题,...
4.0.30319版本是在.NET Framework 4.0发布后的一个服务包,可能包含了自4.0发布以来的所有安全更新、重要更新和可选更新。安装此版本可以确保你的系统能够运行依赖于.NET Framework 4.0的应用程序,并且这些应用程序...
.NET Framework 4.5是微软开发的一个全面的、统一的编程模型,用于构建和运行下一代的应用程序和Web服务。这个框架版本在.NET Framework 4的基础上进行了大量的改进和新功能的添加,旨在提升开发者的工作效率,增强...
《.NET Framework版本详解》 .NET Framework是微软公司推出的一款重要的开发平台,它为开发者提供了构建、部署和运行各种类型的应用程序的能力。本篇文章将详细探讨.NET Framework的几个关键版本,包括它们的主要...
Robot Framework 教程 - 使用For循环 在自动化测试过程中,使用For循环来对某个动作进行重复操作是很普遍的行为。在Robot Framework 中,各种测试库中均提供了多种方式的For循环结构,在其中覆盖了大部分类型的循环...
2. **版本历史**:.NET Framework自2002年首次发布以来,经历了多个版本的迭代,4.2是其中的一个重要版本,它在4.0、4.5、4.5.1、4.5.2、4.6和4.7等版本基础上进行了改进和增强。 3. **兼容性和平台**:.NET ...
.Net Framework 目标包是VS2019开发下载的目标包,包括.net framework3.5 、 .net framework4.0 、 .net framework4.5 vs2022使用.Net Framework4.0方法:,将上述.Net Framework包直接复制粘贴到如下目录下即可:C...
《.NET Framework经典案例代码VB.NET类解析》 在编程领域,.NET Framework是一个不可或缺的开发平台,尤其对于使用Visual Basic .NET(VB.NET)语言的开发者而言。本篇文章将深入探讨.NET Framework的经典案例,...
.NET Framework 4.0.30319是微软开发的一个关键组件,它为Windows操作系统上的应用程序提供运行环境。这个版本的.NET Framework是.NET Framework 4系列的一部分,它包括了大量的新特性和性能优化,旨在提升开发者...
3. 在“引用”选项卡中,找到“目标 .NET Framework”选项,然后选择要修改的版本。 情况二:通过高级编译选项修改 NET Framework 版本 1. 选择项目,然后右键点击,选择“属性”。 2. 在项目属性页面,选择“编译...
自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 4.8 脱机安装程序是微软公司发布的一个重要的开发和运行平台,它为开发者提供了构建、部署和运行各种Windows应用程序所需的环境。这个版本是.NET Framework的最新稳定版,对于那些无法在线更新或者...