Page MenuHomePhorge

Logger.php
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

Logger.php

<?php
namespace Kolab\FreeBusy;
use Monolog\Logger as Monologger;
use Monolog\Handler\StreamHandler;
use Monolog\Handler\NullHandler;
/**
* Helper class for creating up Monolog instanced with local configration
*/
class Logger
{
private static $instances = array();
/**
* Static getter for a Monolog\Logger instance
*/
public static function get($name, $level = 0)
{
if (!isset(self::$instances[$name])) {
$logger = new Monologger($name);
// TODO: support more log drivers
$config = Config::getInstance();
switch ($config->get('log.driver')) {
case 'file':
$logdir = self::realpath($config->get('log.path'));
$loglevel = $level ?: $config->get("log.level", Monologger::INFO);
$logger->pushHandler(new StreamHandler($logdir . $name. '.log', $loglevel));
break;
default:
// null handler if logging is disabled
$logger->pushHandler(new NullHandler);
}
self::$instances[$name] = $logger;
}
return self::$instances[$name];
}
/**
* Resolve the given directory to a real path ending with a /
*/
private static function realpath($dirname)
{
if ($dirname[0] != '/')
$dirname = realpath(KOLAB_FREEBUSY_ROOT . '/' . $dirname);
return rtrim($dirname, '/') . '/';
}
}

File Metadata

Mime Type
text/x-php
Expires
Wed, Jul 8, 5:41 PM (1 d, 12 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1051684
Default Alt Text
Logger.php (1 KB)

Event Timeline