/** * 格納されたログを出力する */ 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(); }