mattmezza / logger
Lightweight package for logging purposes.
Installs: 43
Dependents: 1
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 0
Open Issues: 0
pkg:composer/mattmezza/logger
Requires
- php: ^7.0
Requires (Dev)
- phpunit/phpunit: ^6.5
- vlucas/phpdotenv: ^2.6
This package is auto-updated.
Last update: 2025-10-12 11:26:44 UTC
README
This package is a small utility for logging purposes. It allows you to quickly set up a logging system.
Usage
The main component to use is LevelLogger. Just create a new instance and start logging.
$log = new LevelLogger(); $log->info('DONE.'); $log->debug('I\'m here.'); $log->error($exception->getMessage());
There are 3 levels namely info|debug|error that come handy when switching environment development|staging|production.
The package comes with 3 logging strategies namely:
STDOUT(default): it justechothe message (together with a timestamp and the log level)SYSLOG: calls thesyslog(...)function and logs the message (using the syslog format) to the system logFILE: appends the log message (together with the timestamp and log level) to a file that you specify
How do you specify the parameters?
The package reads from ENV variables. The following variables are used:
LOG_LEVEL: can be eitherINFO|DEBUG|ERRORand defaults toERRORto be the least verbose. When the log level isERRORall theinfoanddebugmessages will not be logged. When the log level is set toDEBUG, all theinfomessages will not be logged. When set toINFOinstead, all of the messages will be logged;LOG_STRATEGY: can be eitherSTDOUT|SYSLOG|FILEand defaults toSYSLOG. It sets the strategy. When theFILEstrategy is chosen, please specify the file path by using the next described variable;LOG_FILE_PATH: must be a writable file path. It defaults to/var/log/logger.log;
Development
You can add new loggers by implementing the Logger interface.
Further development
- Would be nice to add a file rotate feature when logging to file.