public function log($level, $message, array $context = array()) { if (!is_resource($this->fp)) { return; } $now = time(); $tag = 'tag'; if (isset($context['tag'])) { $tag = $context['tag']; } $message = sprintf('<%d>%s % 2d %s %s %s:%s', $this->facility * 8 + $level, date('M', $now), date('j', $now), date('H:i:s', $now), (string) $this->localhostName, $tag, Core_Lib_Logger::replaceContext((string) $message, $context)); $message .= "\n"; // for file log only $len = strlen($message); $wrote = fwrite($this->fp, $message, $len); // @todo 互斥锁 if ($wrote < $len) { $message = substr($message, $wrote); $len = $len - $wrote; $wrote = fwrite($this->fp, $message, $len); if ($wrote < $len) { $message = substr($message, $wrote); $len = $len - $wrote; $wrote = fwrite($this->fp, $message, $len); // 事不过三 } } }
/** * @param int $level * @param string $message * @param array $context */ public function log($level, $message, array $context = []) { if (!isset(static::$aLevels[$level])) { return; } if (!$this->udpHandle->isConnected()) { $this->udpHandle->connect(); } $now = time(); $tag = 'tag'; if (isset($context['tag'])) { $tag = $context['tag']; } $message = sprintf('<%d>%s % 2d %s %s %s:%s', $this->facility * 8 + $level, date('M', $now), date('j', $now), date('H:i:s', $now), $this->localhostName, $tag, Core_Lib_Logger::replaceContext((string) $message, $context)); $this->udpHandle->send($message); }
/** * @param int $level * @param string $message * @param array $context */ public function log($level, $message, array $context = array()) { if (!is_resource($this->fp)) { return; } $now = time(); $tag = 'tag'; if (isset($context['tag'])) { $tag = $context['tag']; } $message = sprintf('%s % 2d %s %s [%s] %s:%s', date('M', $now), date('j', $now), date('H:i:s', $now), (string) $this->localhostName, Core_Lib_Logger::$aLevels[$level], $tag, Core_Lib_Logger::replaceContext((string) $message, $context)); $message .= "\n"; // for file log only $len = strlen($message); $wrote = fwrite($this->fp, $message, $len); // @todo 互斥锁 }