topical media & game development

talk show tell print

student-ar-org-papervision3d-core-log-PaperLogger.ax

student-ar-org-papervision3d-core-log-PaperLogger.ax [swf] [flash] flex


  package org.papervision3d.core.log
  {
          import flash.events.EventDispatcher;
          
          import org.papervision3d.core.log.event.@fileEvent;
          
          

author: Ralph Hauwert

  
          public class @ax-student-ar-org-papervision3d-core-log-PaperLogger extends EventDispatcher
          {        
                  private static var instance:@ax-student-ar-org-papervision3d-core-log-PaperLogger;
                  
                  public var traceLogger:PaperTraceLogger;
                  
                  public function @ax-student-ar-org-papervision3d-core-log-PaperLogger()
                  {
                          if(instance){
                                  throw new Error("Don't call the @ax-student-ar-org-papervision3d-core-log-PaperLogger constructor directly");
                          }else{
                                  traceLogger = new PaperTraceLogger();
                                  registerLogger(traceLogger);
                          }
                          
                  }
                  
                  public function _log(msg:String, object:Object = null, ...arg):void
                  {
                          var vo:PaperLogVO = new PaperLogVO(LogLevel.LOG, msg, object, arg);
                          var ev:@fileEvent = new @fileEvent(vo);
                          dispatchEvent(ev);
                  }
                  
                  public function _info(msg:String, object:Object = null, ...arg):void
                  {
                          var vo:PaperLogVO = new PaperLogVO(LogLevel.INFO, msg, object, arg);
                          var ev:@fileEvent = new @fileEvent(vo);
                          dispatchEvent(ev);
                  }
                  
                  public function _debug(msg:String, object:Object = null, ...arg):void
                  {
                          var vo:PaperLogVO = new PaperLogVO(LogLevel.DEBUG, msg, object, arg);
                          var ev:@fileEvent = new @fileEvent(vo);
                          dispatchEvent(ev);
                  }
                  
                  public function _error(msg:String, object:Object = null, ...arg):void
                  {
                          var vo:PaperLogVO = new PaperLogVO(LogLevel.ERROR, msg, object, arg);
                          var ev:@fileEvent = new @fileEvent(vo);
                          dispatchEvent(ev);
                  }
                  
                  public function _warning(msg:String, object:Object = null, ...arg):void
                  {
                          var vo:PaperLogVO = new PaperLogVO(LogLevel.WARNING, msg, object, arg);
                          var ev:@fileEvent = new @fileEvent(vo);
                          dispatchEvent(ev);
                  }
                  
                  public function registerLogger(logger:Abstract@ax-student-ar-org-papervision3d-core-log-PaperLogger):void
                  {
                          logger.registerWith@ax-student-ar-org-papervision3d-core-log-PaperLogger(this);
                  }
                  
                  public function unregisterLogger(logger:Abstract@ax-student-ar-org-papervision3d-core-log-PaperLogger):void
                  {
                          logger.unregisterFrom@ax-student-ar-org-papervision3d-core-log-PaperLogger(this);
                  }
                  
                  public static function log(msg:String, object:Object = null, ...arg):void
                  {
                          getInstance()._log(msg);
                  }
                  
                  public static function warning(msg:String, object:Object = null, ...arg):void
                  {
                          getInstance()._warning(msg);
                  }
                  
                  public static function info(msg:String, object:Object = null, ...arg):void
                  {
                          getInstance()._info(msg);
                  }
                  
                  public static function error(msg:String, object:Object = null, ...arg):void
                  {
                          getInstance()._error(msg);        
                  }
                  
                  public static function debug(msg:String, object:Object = null, ...arg):void
                  {
                          getInstance()._debug(msg);
                  }
                  
                  public static function getInstance():@ax-student-ar-org-papervision3d-core-log-PaperLogger
                  {
                          if(!instance){
                                  instance = new @ax-student-ar-org-papervision3d-core-log-PaperLogger();
                          }
                          return instance;
                  }
  
          }
  }


(C) Æliens 04/09/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.