rnr1721 / le7-logger
PSR Logger module for le7 PHP MVC framework or any PHP project
Installs: 98
Dependents: 5
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/rnr1721/le7-logger
Requires
- php: >=8.1
- psr/log: ^3.0
Requires (Dev)
- phpunit/phpunit: ^10.0
- vimeo/psalm: ^5.7
Provides
- psr/log-implementation: 3.0.0
README
Requirements
- PHP 8.1 or higher.
- Composer 2.0 or higher.
What it can?
- Log to any destination (need to write similar adapter), by default present file, std and null
- Write more than one destination (for example in two files similarry or to file and to db)
Installation
composer require rnr1721/le7-logger
Tests
composer test
How use it?
use Core\Logger\LoggerFactoryGeneric; $factory = new LoggerFactoryGeneric(); // $log = $this->factory->logStd(); - for docker etc $log = $this->factory->logFile('/home/www/example.com/myproject/log.txt'); // Use it as any PSR logger $log->info('info message'); $log->critical('alert message');
How use different destinations?
For example, we need to write file to two different destinations
use Core\Logger\LoggerFactoryGeneric; $factory = new LoggerFactoryGeneric(); $path1 = '/home/www/example.com/myproject/log1.txt'; $path2 = '/home/www/example.com/myproject/log2.txt'; $log = $this->factory->getLogger(); $log->addBroadcast(new LoggerRouteFile(['filePath' => $path1])) ->addBroadcast(new LoggerRouteFile(['filePath' => $path2])); // Use it as any PSR logger $log->info('info message'); $log->critical('alert message');
Different format in file adapter
use Core\Logger\Adapters\LoggerRouteFile; // ... $params = [ 'filePath' => '/path/to/your/log.log', 'template' => '{date} {level} {message} {context}'; ]; $log->addBroadcast(new LoggerRouteFile($params));
or different way
use Core\Logger\Adapters\LoggerRouteFile; // ... $loggerRouteFile = new LoggerRouteFile(); $loggerRouteFile->setFilePath('/your/file/path') ->setTemplate('{date} {level} {message} {context}'); $log->addBroadcast($loggerRouteFile);