<?php
namespace Yesf\Log\Adapter;
use Yesf\Yesf;
use Yesf\Log\Logger;
use Yesf\Log\LoggerTrait;
use Psr\Log\LoggerInterface;
class SeasLog implements LoggerInterface {
use LoggerTrait;
public function __construct() {
if (!class_exists('\\SeasLog')) {
return;
}
if (Yesf::app()->getConfig('logger.path')) {
\SeasLog::setBasePath(Yesf::app()->getConfig('logger.path'));
}
}
public function log($level, $message, array $context = []) {
if (!Logger::check($level)) {
return;
}
\SeasLog::log($this->getLevel($level), $message, $context, Logger::getName());
}
private function getLevel($level) {
switch ($level) {
case Logger::LOG_DEBUG:
return SEASLOG_DEBUG;
case Logger::LOG_NOTICE:
return SEASLOG_NOTICE;
case Logger::LOG_WARNING:
return SEASLOG_WARNING;
case Logger::LOG_ERROR:
return SEASLOG_ERROR;
case Logger::LOG_CRITICAL:
return SEASLOG_CRITICAL;
case Logger::LOG_ALERT:
return SEASLOG_ALERT;
case Logger::LOG_EMERGENCY:
return SEASLOG_EMERGENCY;
}
}
}