Esempio n. 1
0
 /**
  * 格納されたログを出力する
  */
 public static final function flush()
 {
     if (self::$current_level >= 4) {
         if (function_exists('memory_get_usage')) {
             self::$logs[] = new self(4, 'use memory: ' . number_format(memory_get_usage()) . 'byte / ' . number_format(function_exists('memory_get_peak_usage') ? memory_get_peak_usage() : memory_get_usage(true)) . 'byte');
         }
         self::$logs[] = new self(4, sprintf('--- end logger ( %f sec ) --- ', microtime(true) - (double) self::$start_time));
     }
     if (self::$current_level >= 2) {
         foreach (Exceptions::gets() as $e) {
             self::$logs[] = new self(2, $e);
         }
     }
     if (!empty(self::$logs)) {
         if (self::$disp && self::$stdout) {
             print "\n";
         }
         foreach (self::$logs as $log) {
             if (self::$current_level >= $log->level()) {
                 if (self::$disp && self::$stdout) {
                     print $log->str() . "\n";
                 }
                 Object::C(__CLASS__)->call_module($log->fm_level(), $log, self::$id);
             }
         }
     }
     Object::C(__CLASS__)->call_module('flush', self::$logs, self::$id, self::$stdout);
     Object::C(__CLASS__)->call_module('after_flush', self::$id);
     self::$logs = array();
 }