Ejemplo n.º 1
0
 public function log($level, $message, array $context = array())
 {
     \Debug::log(array('level' => $level, 'message' => $message, 'context' => $context));
     if (in_array($level, static::$logLevelsWrite)) {
         file_put_contents(static::$logPath, date('Y-m-d H:i:s') . " [{$level}] {$message}\n\t" . "context: " . trim(str_replace(PHP_EOL, "\n\t", print_r($context, true))) . "\n" . "\tbacktrace:\n\t\t" . implode("\n\t\t", static::buildBacktraceLines()) . "\n\n", FILE_APPEND);
     }
     if (in_array($level, static::$logLevelsEmail)) {
         \Emergence\Mailer\Mailer::send(\Site::$webmasterEmail, "{$level} logged on {$_SERVER['HTTP_HOST']}", '<dl>' . '<dt>Timestamp</dt><dd>' . date('Y-m-d H:i:s') . '</dd>' . '<dt>Level</dt><dd>' . $level . '</dd>' . '<dt>Message</dt><dd>' . htmlspecialchars($message) . '</dd>' . '<dt>Context</dt><dd><pre>' . htmlspecialchars(print_r($context, true)) . '</pre></dd>' . '<dt>Context</dt><dd><pre>' . htmlspecialchars(implode("\n", static::buildBacktraceLines())) . '</pre></dd>');
     }
 }