• 当在发布flex或flash应用时,不要忘记删除你的Debug代码




    当我们开发flex程序时,经常使用Firefox 插件Flash Tracer来输出调试信息。它可以让我们在运行非debug版本时,使用Firefox浏览器来查看调试信息,而且非常有用。但是可能就会泄漏了很重要的信息,让不法分子所利用,还可能影响性能,所以在发布程序时移除debug信息非常有必要。在flash中直接有相关选项移除,但在flex中找不到这样的功能。所以我们可以用以下几种折衷办法。
    1.使用替换功能,按ctrl+shift+F,查找文本输入"trace",文件名模式选择mxml和as.然后替换,弹出的窗口输入"//trace",不过这样要继续开发就得重新改回来,再用替换功能替换回来。在发行版中注释信息是被删除的。
    2.使用mx.logging包,代码如下
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="init();">
           <mx:Script>
             <![CDATA[
                import mx.logging.Log;
                import mx.logging.ILogger;
                import mx.logging.LogEventLevel;
                import mx.logging.targets.TraceTarget;
       
                private var _log:ILogger;
                private var _traceTarget:TraceTarget;
       
                private function init():void {
                       _traceTarget = new TraceTarget();
                       _traceTarget.filters=["*"];
                       _traceTarget.level = LogEventLevel.ALL;
                       _traceTarget.includeDate = false;
                       _traceTarget.includeTime = false;
                       _traceTarget.includeCategory = true;
                       _traceTarget.includeLevel = true;
                       Log.addTarget(_traceTarget);
       
                       _log = Log.getLogger("ExampleLogger");
                       _log.info("Your tracing like a pro!");
                }
             ]]>
           </mx:Script>
    </mx:Application>
    当你不需要debug信息时只要把Log.addTarget(_traceTarget);
    语句删除就行了。

    3.可以写个类继承Trace的类
    package
    {
    import flash.trace.Trace;

    public class myTrace extends Trace
    {
    public static const debug:Boolean=false;
    public function myTrace()
    {
    super();
    }

    public static function show(... arguments):void{
    if(debug){
    trace(arguments);
    }

    }
    }
    }
    使用常量debug来设置。
    4.使用条件编译,代码如下
    CONFIG::debugging {
    trace(i);
    }
    然后在工程->属性->flex 编程器的附加编译参数加入
    -define=CONFIG::debugging,false

    -define=CONFIG::debugging,true

    总结,以上四种方法我觉得第四种比较好,可以彻底把trace语句删除,不过写起来麻烦些,可以3和4结合起来使用也不错。
  • 相关阅读:
    给数据库带来的挑战
    微服务vs传统开发
    服务拆分原则
    架构演化的步骤
    如何进行微服务架构演进
    为什么选择使用Spring Cloud而放弃了Dubbo
    Spring Cloud体系介绍
    Spring Cloud都做了哪些事
    什么是Spring Boot
    微服务架构优势
  • 原文地址:https://www.cnblogs.com/akweb/p/13331845.html
Copyright © 2020-2023  润新知