制作一个Debug类

时间:2011-06-27 13:49:48

标签: flash actionscript-3 debugging flash-builder

我在一些项目中看到ppl有自己的“Debug类”。

所以,不要输入:trace(“看看这个!”),而是键入Debug.trace(“看看这个!”)。

我看到的唯一优势是您可以在Debug类中使用单个参数禁用每个跟踪调用..但是,这就是全部。

我的问题是,如果我在AS3中使用Debug类,我可以获得哪些优势?

2 个答案:

答案 0 :(得分:3)

我实际上并没有这样使用我的调试类。我有一个日志框架,这就是日志记录的用途。我的Debug类有像

这样的东西
// I usually use these for debugging and it avoids the need of an 
// additional import.
function whatIs( obj:* ):String{ return getQualifiedClassName( obj )}
function describe( obj:* ):XML{ return describeType( obj ); }

我还有一个getLines方法 - 它返回长字符串,以便我可以轻松查看日志记录跟踪并查看特定点。

但最重要的一个:

function getStack():String {
    try
    {
        throw new Error( "Someone set us up the bomb!" );
    }
    catch( e:Error )
    {
         return e.getStackTrace();
    }
}

我甚至在getStack周围有一个包装器,它返回最近在调用getStack()的方法之前调用的类和方法。

答案 1 :(得分:1)

调试类允许您执行不同级别(通知,警告,错误,严重,启示等)。如您所述,您可以在一个地方禁用。您可以为邮件添加时间戳。您可以将输出发送到不同的位置,这对于调试实时应用程序或调试不经常发生的事情非常方便。您还可以使用一些逻辑来检测参数类型,并使用调试信息执行不同的操作。