一个简单但是非常实用的AIR log类
By Minidxer | September 13, 2008
在the list of helpful Flex or Flash debug tools中,我们可以找到看到很多非常好用的Flex/Flash调试工具,对于输出INFO, DEBUG, ERROR, FATAL这样不同等级Log当然也都是没有问题,不过对于一些应用来说,可能我们并不需要引入整个调试包。下面是一个非常简单但是却可以满足基本所需要的log调试所需要功能的类,可以方便的使用。下面是代码:
- package com.engroup.log
- /**
- * The custom logger factory of eSoftHead company
- */
- public class LoggerFactory
- {
- private static var instance:LoggerFactory = new LoggerFactory();
- function LoggerFactory()
- {
- if (instance != null) {
- throw new Error("The instance Logger already be exist");
- }
- // hard-code or can read the configuration file in application path
- var logTarget:TraceTarget = new TraceTarget();
- logTarget.filters = ["com.engroup.*"];
- logTarget.level = LogEventLevel.ALL;
- logTarget.includeCategory = true;
- logTarget.includeDate = true;
- logTarget.includeLevel = true;
- logTarget.includeTime = true;
- Log.addTarget(logTarget);
- }
- private function getInternalLog(classReference:Class): ILogger {
- var type:XML = describeType(classReference);
- var className:String = type.@name;
- var category:String = className.replace("::", ".");
- return Log.getLogger(category);
- }
- public static function getLogger(classReference:Class): ILogger {
- return instance.getInternalLog(classReference);
- }
- }
下面是一个使用例子:
- private static var log:ILogger = LoggerFactory.getLogger(ABC);
- log.debug("The example log message");
Topics:
Adobe其他 |
1 Comment » |
Tags: AIR, Debug, ERROR, FATAL, info
Trackbacks