Kanboard-Prod/app/ServiceProvider/LoggingProvider.php

48 lines
1.1 KiB
PHP

<?php
namespace Kanboard\ServiceProvider;
use Psr\Log\LogLevel;
use Pimple\Container;
use Pimple\ServiceProviderInterface;
use SimpleLogger\Logger;
use SimpleLogger\Stderr;
use SimpleLogger\Stdout;
use SimpleLogger\Syslog;
use SimpleLogger\File;
class LoggingProvider implements ServiceProviderInterface
{
public function register(Container $container)
{
$logger = new Logger;
$driver = null;
switch (LOG_DRIVER) {
case 'syslog':
$driver = new Syslog('kanboard');
break;
case 'stdout':
$driver = new Stdout();
break;
case 'stderr':
$driver = new Stderr();
break;
case 'file':
$driver = new File(LOG_FILE);
break;
}
if ($driver !== null) {
if (! DEBUG) {
$driver->setLevel(LogLevel::INFO);
}
$logger->setLogger($driver);
}
$container['logger'] = $logger;
return $container;
}
}