public function testPushPopHandler() { $logger = new Logger(__METHOD__); $handler1 = $this->getMock('Monolog\\Handler\\NullHandler', array('handle')); $handler2 = $this->getMock('Monolog\\Handler\\NullHandler', array('handle')); $handler3 = $this->getMock('Monolog\\Handler\\NullHandler', array('handle')); $logger->pushHandler($handler1); $logger->pushHandler($handler2); $logger->pushHandler($handler3); $this->assertEquals($handler3, $logger->popHandler()); $this->assertEquals($handler2, $logger->popHandler()); $this->assertEquals($handler1, $logger->popHandler()); }
/** * @covers Migration\Logger\Logger::addRecord * @covers Migration\Logger\Logger::getMessages * @return void */ public function testAddRecord() { $infoMessage = 'info1'; $errorMessage = 'error1'; $consoleHandler = $this->getMockBuilder('\\Migration\\Logger\\ConsoleHandler')->disableOriginalConstructor()->setMethods(['handle'])->getMock(); $consoleHandler->expects($this->any())->method('handle')->will($this->returnValue(true)); $this->logger->pushHandler($consoleHandler); $this->logger->addRecord(\Monolog\Logger::INFO, $infoMessage); $this->logger->addRecord(\Monolog\Logger::ERROR, $errorMessage); $messages = \Migration\Logger\Logger::getMessages(); $this->assertEquals($infoMessage, $messages[\Monolog\Logger::INFO][0]); $this->assertEquals($errorMessage, $messages[\Monolog\Logger::ERROR][0]); $this->logger->clearMessages(); $this->assertEmpty(\Migration\Logger\Logger::getMessages()); }
/** * @param string $logName * @param int $logLevel * @param string $logPath * @return \PHPQueue\Logger */ public static function createLogger($logName = null, $logLevel = Logger::WARNING, $logPath = null) { if (empty(self::$all_logs[$logName])) { $logger = new Logger($logName); $logger->pushHandler(new \Monolog\Handler\StreamHandler($logPath, $logLevel)); self::$all_logs[$logName] = $logger; } return self::$all_logs[$logName]; }
public function register() { //TODO: вызывать исключение, если не заданы необходимые настройки (['logger']['name'] например) $this->container['logger.logger'] = function ($container) { $config = $container['logger']; $logger = new Logger($config['name']); $logger->pushHandler($container['logger.handler']); return $logger; }; $this->container['logger.handler'] = function ($container) { $config = $container['logger']; return new StreamHandler(rtrim($config['path'], '/') . '/' . $config['name'] . '.log', $container['logger.level']); }; $this->container['logger.level'] = function ($container) { if ($container['environment'] == 'production') { return Logger::ERROR; } else { return Logger::DEBUG; } }; }
}; $container['notAllowedHandler'] = function ($c) { return function ($req, $res) { return $res->error(405, 'Method Not Allowed', 405); }; }; //Ç©ÃûÑéÖ¤ÃØÔ¿ $container['key'] = function ($c) { return 'ihc&*()_'; }; // ----------------------------------------------------------------------------- // Service factories // ----------------------------------------------------------------------------- // // monolog $container['logger'] = function ($c) { $log_path = SITEDATA . '/log/api/' . date('Ym'); if (!is_dir($log_path)) { mkdir($log_path, 0755, true); } $level = ENV === 'prod' ? Logger::ERROR : Logger::DEBUG; $logger = new Logger('cncn-api'); $logger->pushProcessor(new WebProcessor($c['request']->getServerParams())); $logger->pushHandler(new StreamHandler($log_path . '/api.log', $level)); return $logger; }; // ----------------------------------------------------------------------------- // Action factories // ----------------------------------------------------------------------------- // $container['App\Action\HomeAction'] = function ($c) { // return new App\Action\HomeAction(); // };
* @package GozintograPHP * @license http://www.opensource.org/licenses/bsd-license.php BSD 3-clause License * @copyright (c) 2008-2014 Christoph Jeschke. All rights reserved */ /** * Zend_Console_Getopt is used to handle the console options * @todo The libraries have to be written into one single file */ namespace GozintograPHP; require dirname(dirname(dirname(__FILE__))) . '/vendor/autoload.php'; namespace Monolog; // setup monolog $logger = new Logger('gozintographp'); $logger->pushHandler(new Handler\StreamHandler('php://stderr'), Logger::WARNING); namespace GozintograPHP; $errorHandler = new ErrorHandler($logger); // set default exception handler set_exception_handler(array('\\GozintograPHP\\ExceptionHandler', 'setDefaultExceptionHandler')); // set default error handler set_error_handler(array($errorHandler, 'setDefaultErrorHandler')); // be sure, register_argv_argc will be filled ini_set('register_argv_argc', 'On'); /** * Set up console option (arg) handling * It takes several arguments: * <ul> * <li> * <kbd>--usage</kbd> or <kbd>-u</kbd> shows the default usage information