| 
<?php
 namespace Jaxon\CI;
 
 use Psr\Log\LoggerInterface;
 use Psr\Log\AbstractLogger;
 use Psr\Log\LogLevel;
 use Psr\Log\InvalidArgumentException;
 
 class Logger extends AbstractLogger implements LoggerInterface
 {
 public function log($sLevel, $sMessage, array $aContext = [])
 {
 $sMessage = rtrim((string)$sMessage, ' .') . '. ' . print_r($aContext, true);
 
 // Map the PSR-3 severity to CodeIgniter log level.
 switch($sLevel)
 {
 case LogLevel::EMERGENCY:
 case LogLevel::ALERT:
 case LogLevel::CRITICAL:
 case LogLevel::ERROR:
 log_message("error", $sMessage);
 break;
 case LogLevel::WARNING:
 case LogLevel::DEBUG:
 log_message("debug", $sMessage);
 break;
 case LogLevel::NOTICE:
 case LogLevel::INFO:
 log_message("info", $sMessage);
 break;
 default:
 throw new InvalidArgumentException("Unknown severity level");
 }
 }
 }
 
 |