zozlak / logging
Set of methods to deal with the HTTP Accept header
Installs: 6 882
Dependents: 12
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: >=8.0
- psr/log: >=1
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.0
- psr/log: ^1
README
Logging
A simple file-based PSR-3 logging library.
- provides basic severity level filtering
- can be used as a singleton
- also with multiple logs
- able to serialize arrays and objects (first tries with
__toString()
, then appliesjson_encode()
) - supports placeholders (see PSR-3)
- compatible with all PSR-3 releases from 1 on
Installation
composer require zozlak/logging
Usage
// simplest possible logging $log = new \zozlak\logging\Log('log_file'); $log->info('message'); // logging to standard out/err $log = new \zozlak\logging\Log('php://stdout'); $log->info('message'); $log = new \zozlak\logging\Log('php://stderr'); $log->info('message'); // logging to already opened file $logFile = tmpfile(); $log = new \zozlak\logging\Log($logFile); $log->info('message'); // message formatting and filtering $log = new \zozlak\logging\Log('log_file', \Psr\Log\LogLevel::INFO, "{LEVEL}:{TIMESTAMP}:{FILE}:{LINE}:{MESSAGE}"); $log->info('message'); $log->debug('skipped message'); // singleton example $log = new \zozlak\logging\Log('log_file'); \zozlak\logging\Logger::addLog($log); \zozlak\logging\Logger::info('message'); // singleton with multiple logs $logAll = new \zozlak\logging\Log('log_all'); $logErrors = new \zozlak\logging\Log('log_errors', \Psr\Log\LogLevel::ERROR); \zozlak\logging\Logger::addLog($logAll, 'all'); \zozlak\logging\Logger::addLog($logErrors, 'error'); \zozlak\logging\Logger::info('message1', [], 'all'); \zozlak\logging\Logger::error('message2', [], 'error'); \zozlak\logging\Logger::error('message3'); // written to the 'error' log \zozlak\logging\Logger::setDefaultLog('all'); \zozlak\logging\Logger::error('message4'); // written to the 'all' log