Download a latest package or use Composer:
composer require czproject/logger
CzProject\Logger requires PHP 5.6.0 or later.
use CzProject\Logger;
use CzProject\Logger\ILogger;
$logger = new Logger\OutputLogger(ILogger::DEBUG); // minimal level
$logger->log('Debug info', ILogger::DEBUG);
$logger->log('Output', ILogger::INFO);
$logger->log('Done!', ILogger::SUCCESS);
$logger->log('Warning...', ILogger::WARNING);
$logger->log('Error message', ILogger::ERROR);
$logger->log('Exception message', ILogger::EXCEPTION);
$logger->log('App crashed.', ILogger::CRITICAL);
CzProject\Logger\CliLogger($level, $colored = NULL)
- sends messages to CLI STDOUTCzProject\Logger\OutputLogger($level)
- prints messages to STDOUTCzProject\Logger\FileLogger($path, $level)
- saves messages into new created fileCzProject\Logger\MemoryLogger($level)
- saves messages into memory, you can use$memoryLogger->getLog()
CzProject\Logger\MultiLogger()
- sends messages to other loggers
$logger = new Logger\MultiLogger;
$logger->addLogger(new Logger\OutputLogger(ILogger::INFO));
$logger->addLogger(new Logger\FileLogger(__DIR__ . '/debug.log', ILogger::DEBUG));
$logger->log($msg, $level);
LoggerProxy is interface for using of Logger.
$logger = new Logger\OutputLogger(ILogger::DEBUG); // minimal level
$proxy = new Logger\LoggerProxy($logger);
$proxy->debug('Debug info');
$proxy->log('Output'); // or $proxy->info()
$proxy->success('Done!');
$proxy->warning('Warning...', ILogger::WARNING);
$proxy->error('Error message', ILogger::ERROR);
$proxy->exception('Exception message', ILogger::EXCEPTION);
$proxy->critical('App crashed.', ILogger::CRITICAL);
License: New BSD License
Author: Jan Pecha, https://www.janpecha.cz/