for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace consoleLogger;
use Psr\Log\AbstractLogger;
class Logger extends AbstractLogger
{
private function formatMessage($message, $logLevel, $context)
$message = str_replace("'", "\'", $message);
$formattedMessage = '[' . date('Y-m-d H:i:s') . ']';
$formattedMessage = $formattedMessage . ' ' . strtoupper($logLevel) . ': ';
$formattedMessage = $formattedMessage . 'Message: ' . $message;
if (!empty($context)) {
$formattedMessage = $formattedMessage . ', Context: ' . json_encode($context);
}
return $formattedMessage;
public function log($logLevel, $message, array $context = [])
$consoleFunctionMap = [
'emergency' => 'error',
'alert' => 'warn',
'critical' => 'error',
'error' => 'error',
'warning' => 'warn',
'notice' => 'log',
'info' => 'info',
'debug' => 'debug',
];
$message = $this->formatMessage($message, $logLevel, $context);
echo "<script>";
echo sprintf("console.%s('%s');", $consoleFunctionMap[$logLevel], $message);
echo "</script>";
public function clearLog()
echo "console.clear();";
public function group($groupLabel)
$groupLabel = str_replace("'", "\'", $groupLabel);
echo sprintf("console.group('%s');", $groupLabel);
public function groupEnd()
echo "console.groupEnd();";