diff options
| -rw-r--r-- | Digitigrade/GlobalConfig.php | 10 | ||||
| -rw-r--r-- | Digitigrade/Logger.php | 4 | ||||
| -rw-r--r-- | Digitigrade/Router.php | 1 | ||||
| -rw-r--r-- | config.ini | 2 |
4 files changed, 17 insertions, 0 deletions
diff --git a/Digitigrade/GlobalConfig.php b/Digitigrade/GlobalConfig.php index 7fbfab3..63a1031 100644 --- a/Digitigrade/GlobalConfig.php +++ b/Digitigrade/GlobalConfig.php @@ -28,6 +28,16 @@ class GlobalConfig extends Singleton { return $this->confData['debug']['send_tracebacks'] ?? false; } + public function getLogLevel(): int { + return match ($this->confData['debug']['log_level']) { + 'debug' => Logger::LEVEL_DEBUG, + 'info' => Logger::LEVEL_INFO, + 'warning' => Logger::LEVEL_WARNING, + 'error' => Logger::LEVEL_ERROR, + default => Logger::LEVEL_INFO + }; + } + public function getDbConnection(): string { return 'pgsql:host=' . $this->confData['database']['host'] . ';port=' . $this->confData['database']['port'] . diff --git a/Digitigrade/Logger.php b/Digitigrade/Logger.php index 2a87c21..b4f06b7 100644 --- a/Digitigrade/Logger.php +++ b/Digitigrade/Logger.php @@ -13,6 +13,10 @@ class Logger extends Singleton { private int $minLevel = self::LEVEL_INFO; + protected function __construct() { + $this->setMinimumLevel(GlobalConfig::getInstance()->getLogLevel()); + } + public function setMinimumLevel(int $level) { $this->minLevel = $level; diff --git a/Digitigrade/Router.php b/Digitigrade/Router.php index 0682b76..e51e124 100644 --- a/Digitigrade/Router.php +++ b/Digitigrade/Router.php @@ -30,6 +30,7 @@ class Router extends Singleton { $e->httpHeaders(); echo '<h1>' . $e->httpReason() . '</h1><pre>' . $e->getMessage() . '</pre>'; } + Logger::getInstance()->debug('Router: ' . http_response_code() . ' ' . $this->requestPath); } private function processRequestInner() { @@ -20,6 +20,8 @@ port = 11300 channel = digitigrade [debug] +; minimum log level (optional, values = debug|info|warning|error, default = info) +log_level = info ; whether to send full tracebacks on internal server errors (optional, ; default = false) send_tracebacks = false |
