public function testCreateLogger() { $logger = Cascade::createLogger('test'); $this->assertTrue($logger instanceof Logger); $this->assertEquals('test', $logger->getName()); $this->assertTrue(Registry::hasLogger('test')); }
/** * @dataProvider hasLoggerProvider * @covers Monolog\Registry::hasLogger */ public function testHasLogger(array $loggersToAdd, array $loggersToCheck, array $expectedResult) { foreach ($loggersToAdd as $loggerToAdd) { Registry::addLogger($loggerToAdd); } foreach ($loggersToCheck as $index => $loggerToCheck) { $this->assertSame($expectedResult[$index], Registry::hasLogger($loggerToCheck)); } }
public function testLoggersConfigured() { $options = Fixtures::getPhpArrayConfig(); // Mocking the ConfigLoader with the load method $configLoader = $this->getMockBuilder('Cascade\\Config\\ConfigLoader')->disableOriginalConstructor()->setMethods(array('load'))->getMock(); $configLoader->method('load')->willReturn($options); $config = new Config($options, $configLoader); $config->load(); $config->configure(); $this->assertTrue(Registry::hasLogger('my_logger')); }
/** * Get a Logger instance by name. Creates a new one if a Logger with the * provided name does not exist * * @param string $name Name of the requested Logger instance * * @return Logger Requested instance of Logger or new instance */ public static function getLogger($name) { if (Registry::hasLogger($name)) { return Registry::getInstance($name); } else { if (Registry::hasLogger('default')) { return Registry::getInstance('default'); } } return self::createLogger($name); }
public function __construct($raw) { $this->eventManager = new EventManager(); // Setup logging if (!Registry::hasLogger('PhlowLog')) { $logger = new Logger('phlow'); $logger->pushHandler(new StreamHandler("phlow.log")); Registry::addLogger($logger, 'PhlowLog'); } $this->raw = $raw; $this->inflate(); }
/** * Set local variables and bootstrap logging * * @param string $domain * @param string $taskList */ private function setup($identity, $domain, $taskList, Logger $logger) { if (!$identity) { $this->identity = get_class() . '-' . microtime(); } $this->taskList = $taskList; $this->domain = $domain; // Setup logging if (!Registry::hasLogger('PhlowLog')) { Registry::addLogger($logger, 'PhlowLog'); } }
<?php /* * This file is part of the Pathfinder package. * * (c) bitExpert AG * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ declare (strict_types=1); // include and configure Composer autoloader include __DIR__ . '/../vendor/autoload.php'; // configure the Simple Logging Facade for PSR-3 loggers with a Monolog backend \bitExpert\Slf4PsrLog\LoggerFactory::registerFactoryCallback(function ($channel) { if (!\Monolog\Registry::hasLogger($channel)) { \Monolog\Registry::addLogger(new \Monolog\Logger($channel)); } return \Monolog\Registry::getInstance($channel); });
public function testConstructor() { $loader = new LoggerLoader('testLogger'); $this->assertTrue(Registry::hasLogger('testLogger')); }
/** Add information to the log file */ function add_log($text, $function, $type = LOG_INFO, $projectid = 0, $buildid = 0, $resourcetype = 0, $resourceid = 0) { global $CDASH_LOG_FILE, $CDASH_LOG_FILE_MAXSIZE_MB, $CDASH_LOG_LEVEL, $CDASH_TESTING_MODE; $level = to_psr3_level($type); if (($buildid === 0 || is_null($buildid)) && isset($GLOBALS['PHP_ERROR_BUILD_ID'])) { $buildid = $GLOBALS['PHP_ERROR_BUILD_ID']; } $context = array('function' => $function); if ($projectid !== 0 && !is_null($projectid)) { $context['project_id'] = $projectid; } if ($buildid !== 0 && !is_null($buildid)) { $context['build_id'] = strval($buildid); } if ($resourcetype !== 0 && !is_null($resourcetype)) { $context['resource_type'] = $resourcetype; } if ($resourceid !== 0 && !is_null($resourceid)) { $context['resource_id'] = $resourceid; } $minLevel = to_psr3_level($CDASH_LOG_LEVEL); if (!is_null($CDASH_LOG_FILE)) { // If the size of the log file is bigger than 10 times the allocated memory // we rotate $logFileMaxSize = $CDASH_LOG_FILE_MAXSIZE_MB * 100000; if (file_exists($CDASH_LOG_FILE) && filesize($CDASH_LOG_FILE) > $logFileMaxSize) { $tempLogFile = $CDASH_LOG_FILE . '.tmp'; if (!file_exists($tempLogFile)) { rename($CDASH_LOG_FILE, $tempLogFile); // This should be quick so we can keep logging for ($i = 9; $i >= 0; $i--) { // If we do not have compression we just rename the files if (function_exists('gzwrite') === false) { $currentLogFile = $CDASH_LOG_FILE . '.' . $i; $j = $i + 1; $newLogFile = $CDASH_LOG_FILE . '.' . $j; if (file_exists($newLogFile)) { cdash_unlink($newLogFile); } if (file_exists($currentLogFile)) { rename($currentLogFile, $newLogFile); } } else { $currentLogFile = $CDASH_LOG_FILE . '.' . $i . '.gz'; $j = $i + 1; $newLogFile = $CDASH_LOG_FILE . '.' . $j . '.gz'; if (file_exists($newLogFile)) { cdash_unlink($newLogFile); } if (file_exists($currentLogFile)) { $gz = gzopen($newLogFile, 'wb'); $f = fopen($currentLogFile, 'rb'); while ($f && !feof($f)) { gzwrite($gz, fread($f, 8192)); } fclose($f); unset($f); gzclose($gz); unset($gz); } } } // Move the current backup if (function_exists('gzwrite') === false) { rename($tempLogFile, $CDASH_LOG_FILE . '.0'); } else { $gz = gzopen($CDASH_LOG_FILE . '.0.gz', 'wb'); $f = fopen($tempLogFile, 'rb'); while ($f && !feof($f)) { gzwrite($gz, fread($f, 8192)); } fclose($f); unset($f); gzclose($gz); unset($gz); cdash_unlink($tempLogFile); } } } $pid = getmypid(); if ($pid !== false) { $context['pid'] = getmypid(); } } if (Registry::hasLogger('cdash') === false) { if ($CDASH_LOG_FILE === false) { $handler = new SyslogHandler('cdash', LOG_USER, $minLevel); $handler->getFormatter()->ignoreEmptyContextAndExtra(); } else { if ($CDASH_TESTING_MODE) { $filePermission = 0666; } else { $filePermission = 0664; } $handler = new StreamHandler($CDASH_LOG_FILE, $minLevel, true, $filePermission); $handler->getFormatter()->allowInlineLineBreaks(); $handler->getFormatter()->ignoreEmptyContextAndExtra(); } $logger = new Logger('cdash'); $logger->pushHandler($handler); Registry::addLogger($logger); } else { $logger = Registry::getInstance('cdash'); } $logger->log($level, $text, $context); }
/** * Get a Logger instance by name. Creates a new one if a Logger with the * provided name does not exist * * @param string $name Name of the requested Logger instance * * @return Logger Requested instance of Logger or new instance */ public static function getLogger($name) { return Registry::hasLogger($name) ? Registry::getInstance($name) : self::createLogger($name); }