CzProject\Logger
, (*1)
, (*2)
Installation
Download a latest package or use Composer:, (*3)
composer require czproject/logger
CzProject\Logger requires PHP 5.6.0 or later., (*4)
Usage
``` php
use CzProject\Logger;
use CzProject\Logger\ILogger;, (*5)
$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);, (*6)
### Loggers
* `CzProject\Logger\CliLogger($level, $colored = NULL)` - sends messages to CLI STDOUT
* `CzProject\Logger\OutputLogger($level)` - prints messages to STDOUT
* `CzProject\Logger\FileLogger($path, $level)` - saves messages into new created file
* `CzProject\Logger\MemoryLogger($level)` - saves messages into memory, you can use `$memoryLogger->getLog()`
* `CzProject\Logger\MultiLogger()` - sends messages to other loggers
``` php
$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
LoggerProxy is interface for using of Logger., (*7)
$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/, (*8)