Logger
MaplePHP PSR-3 Logger library – your reliable companion for efficient logging in PHP applications. This library adheres to the PSR-3 standard, providing a seamless and standardized approach to logging
Log-levels
emergency: System is unusable
alert: Action must be taken immediately
critical: Critical conditions
error: Runtime errors that do not require immediate action but usually logged and monitored.
warning: Exceptional occurrences that are not errors.
notice: Normal but significant events.
info: Interesting events (User logs in, SQL logs.)
debug: Detailed debug information.
log: Logs with an arbitrary level.
Logger in provider
You can access the logger with the help of the Service Provider, e.g it is utilizing the StreamHandler.
$this->provider->logger()->warning("The user {firstname} has been added.", ["firstname" => "John", "lastname" => "Doe"]);
Stream/file handler
Or you could access it directly through the Logger library and build your own logger service.
Add namespaces
use MaplePHP\Log\Logger;
use MaplePHP\Log\Handlers\StreamHandler;
Create simple stream logger
$log = new Logger(new StreamHandler("/path/to/logger.log"));
$log->warning("The user {firstname} has been added.", ["firstname" => "John", "lastname" => "Doe"]);
Rotatable log files
Create simple stream rotatables loggers. Will create a new log file if size is more than MAX_SIZE (5000 KB) and remove log files if total file count is more than MAX_COUNT 10.
$log = new Logger(new StreamHandler("/path/to/logger.log", StreamHandler::MAX_SIZE, StreamHandler::MAX_COUNT));
$log->warning("The user {firstname} has been added.", ["firstname" => "John", "lastname" => "Doe"]);
Database handler
Add namespaces
use MaplePHP\Log\Logger;
use MaplePHP\Log\Handlers\DBHandler;
1. Connect to the database.
Install the database with the MakePHP cli.
php cli config install --type=mysql
2. Create database table
Install the database table with the MakePHP cli.
php cli migrate create --table=logger
3. Write to database log
$log = new Logger(new DBHandler());
$log->warning("The user {firstname} has been added.", ["user_id" => 4, "firstname" => "Daniel"]);
PHP error log handler (error_log())
You can (not required) specify a log file location in ErrorLogHandler. If argument is empty, then server default location.
Add namespaces
use MaplePHP\Log\Logger;
use MaplePHP\Log\Handlers\ErrorLogHandler;
$log = new Logger(new ErrorLogHandler("/path/to/logger.log"));
$log->warning("The user {firstname} has been added.", ["firstname" => "John", "lastname" => "Doe", "data" => ["city" => "Stockholm", "coor" => "122,1212"]]);
Last updated
Was this helpful?