home *** CD-ROM | disk | FTP | other *** search
/ Computer Active 2010 August / CA08.iso / Multimedija / shufflr.air / ShufflrClient.swf / scripts / air / update / logging / Logger.as < prev   
Encoding:
Text File  |  2010-06-23  |  3.3 KB  |  130 lines

  1. package air.update.logging
  2. {
  3.    import flash.filesystem.File;
  4.    import flash.filesystem.FileMode;
  5.    import flash.filesystem.FileStream;
  6.    import flash.utils.Dictionary;
  7.    
  8.    public class Logger
  9.    {
  10.       private static var loggers:Dictionary = new Dictionary();
  11.       
  12.       private static var _level:int = Level.OFF;
  13.       
  14.       private var name:String = "";
  15.       
  16.       public function Logger(param1:String)
  17.       {
  18.          super();
  19.          this.name = param1;
  20.       }
  21.       
  22.       public static function get level() : int
  23.       {
  24.          return _level;
  25.       }
  26.       
  27.       public static function getLogger(param1:String) : Logger
  28.       {
  29.          if(!loggers[param1])
  30.          {
  31.             return new Logger(param1);
  32.          }
  33.          return loggers[param1];
  34.       }
  35.       
  36.       public static function set level(param1:int) : void
  37.       {
  38.          _level = param1;
  39.       }
  40.       
  41.       public function config(... rest) : void
  42.       {
  43.          this.log(Level.CONFIG,rest);
  44.       }
  45.       
  46.       public function log(param1:int, ... rest) : void
  47.       {
  48.          var s:String;
  49.          var file:File = null;
  50.          var fs:FileStream = null;
  51.          var logLevel:int = param1;
  52.          var arguments:Array = rest;
  53.          if(!this.isLoggable(logLevel))
  54.          {
  55.             return;
  56.          }
  57.          s = this.format(logLevel,arguments);
  58.          trace(s);
  59.          try
  60.          {
  61.             file = new File(File.documentsDirectory.nativePath + "/../.airappupdater.log");
  62.             if(file.exists)
  63.             {
  64.                fs = new FileStream();
  65.                fs.open(file,FileMode.APPEND);
  66.                fs.writeUTFBytes(s + "\n");
  67.                fs.close();
  68.             }
  69.          }
  70.          catch(e:Error)
  71.          {
  72.          }
  73.       }
  74.       
  75.       public function isLoggable(param1:int) : Boolean
  76.       {
  77.          return param1 >= level;
  78.       }
  79.       
  80.       public function info(... rest) : void
  81.       {
  82.          this.log(Level.INFO,rest);
  83.       }
  84.       
  85.       public function severe(... rest) : void
  86.       {
  87.          this.log(Level.SEVERE,rest);
  88.       }
  89.       
  90.       private function format(param1:int, ... rest) : String
  91.       {
  92.          var _loc3_:Date = new Date();
  93.          var _loc4_:String = _loc3_.fullYear + "/" + _loc3_.month + "/" + _loc3_.day + " " + _loc3_.hours + ":" + _loc3_.minutes + ":" + _loc3_.seconds + "." + _loc3_.milliseconds;
  94.          var _loc5_:* = _loc3_ + " | " + this.name + " | [" + Level.getName(param1) + "] ";
  95.          if(rest == null)
  96.          {
  97.             return _loc5_;
  98.          }
  99.          var _loc6_:int = 0;
  100.          while(_loc6_ < rest.length)
  101.          {
  102.             _loc5_ += (_loc6_ > 0 ? "," : "") + (rest[_loc6_] != null ? rest[_loc6_].toString() : "null");
  103.             _loc6_++;
  104.          }
  105.          return _loc5_;
  106.       }
  107.       
  108.       public function finer(... rest) : void
  109.       {
  110.          this.log(Level.FINER,rest);
  111.       }
  112.       
  113.       public function fine(... rest) : void
  114.       {
  115.          this.log(Level.FINE,rest);
  116.       }
  117.       
  118.       public function finest(... rest) : void
  119.       {
  120.          this.log(Level.FINEST,rest);
  121.       }
  122.       
  123.       public function warning(... rest) : void
  124.       {
  125.          this.log(Level.WARNING,rest);
  126.       }
  127.    }
  128. }
  129.  
  130.