czproject/logger

Output logger.

v0.12.0 2020-08-09 13:19 UTC

This package is auto-updated.

Last update: 2020-08-20 06:35:59 UTC


README

Become a Patron! Buy me a coffee

Installation

Download a latest package or use Composer:

composer require czproject/logger

CzProject\Logger requires PHP 5.6.0 or later.

Usage

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);

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
$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.

$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/