|
<?php |
|
|
|
namespace Kanboard\ServiceProvider; |
|
|
|
use Psr\Log\LogLevel; |
|
use Pimple\Container; |
|
use Pimple\ServiceProviderInterface; |
|
use Kanboard\Core\Log\Logger; |
|
use Kanboard\Core\Log\Stderr; |
|
use Kanboard\Core\Log\Stdout; |
|
use Kanboard\Core\Log\Syslog; |
|
use Kanboard\Core\Log\File; |
|
use Kanboard\Core\Log\System; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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; |
|
case 'system': |
|
$driver = new System(); |
|
break; |
|
} |
|
|
|
if ($driver !== null) { |
|
if (! DEBUG) { |
|
$driver->setLevel(LogLevel::INFO); |
|
} |
|
|
|
$logger->setLogger($driver); |
|
} |
|
|
|
$container['logger'] = $logger; |
|
return $container; |
|
} |
|
} |
|
|