private function format($level, $message, array $context = [])
{
$time = @date("Y-m-d H:i:s", $context["time"] ?? time());
$level = isset(self::LEVELS[$level]) ? $level : "unknown";
$level = $this->ansify ? $this->ansify($level) : $level;
foreach ($context as $key => $replacement) {
// avoid invalid casts to string
if (!is_array($replacement) && (!is_object($replacement) || method_exists($replacement, '__toString'))) {
$replacements["{{$key}}"] = $replacement;
}
}
if (isset($replacements)) {
$message = strtr($message, $replacements);
}
return "[{$time}] {$level} {$message}";
}