PHP code example of monkeyscloud / monkeyslegion-logger
1. Go to this page and download the library: Download monkeyscloud/monkeyslegion-logger library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
monkeyscloud / monkeyslegion-logger example snippets
use MonkeysLegion\Logger\Logger;
use MonkeysLegion\Logger\Handler\StreamHandler;
use MonkeysLegion\Logger\LogLevel;
// Create a logger with a file handler
$logger = new Logger(
handlers: [new StreamHandler('logs/app.log', LogLevel::Debug)],
channelName: 'app',
);
$logger->info('User {name} logged in', ['name' => 'Jorge']);
$logger->error('Payment failed', ['order_id' => 42]);
$logger->close();
$handler = new StreamHandler('logs/app.log', LogLevel::Warning);
$handler = new RotatingFileHandler('logs/app.log', maxFiles: 14);
$handler = new ConsoleHandler(LogLevel::Debug, colorize: true);
$handler = new BufferHandler($innerHandler, bufferLimit: 100);
$handler = new FingersCrossedHandler($innerHandler, LogLevel::Error);
$handler = new DeduplicationHandler($innerHandler, deduplicationWindow: 60);
$handler = new SamplingHandler($innerHandler, sampleRate: 0.01); // 1%
// Errors always pass through regardless of sample rate
$handler = new GroupHandler([$fileHandler, $consoleHandler]);
use MonkeysLegion\Logger\Processor\RedactProcessor;
$processor = new RedactProcessor();
// Automatically redacts: password, token, api_key, secret, credit_card, ssn, etc.
$logger = new Logger(
handlers: [$handler],
processors: [$processor],
);
$logger->info('Login', ['user' => 'jorge', 'password' => 'secret']);
// Output: {"context":{"user":"jorge","password":"********"}}
use MonkeysLegion\Logger\Processor\UidProcessor; // Request correlation ID
use MonkeysLegion\Logger\Processor\MemoryProcessor; // Memory usage & peak
use MonkeysLegion\Logger\Processor\IntrospectionProcessor; // Call site (file, line)
use MonkeysLegion\Logger\Processor\TimestampProcessor; // Microsecond timestamps
use MonkeysLegion\Logger\Processor\EnvironmentProcessor; // Hostname, PHP version, SAPI
$logger->pushContext(['request_id' => 'abc-123']);
$logger->info('Processing started'); // Includes request_id
$logger->info('Step 2 complete'); // Includes request_id
$logger->popContext();
$logger->info('Done'); // No request_id
$metrics = $logger->getMetrics();
echo $metrics->totalCount; // Total log entries
echo $metrics->errorRate; // Ratio of errors to total (0.0–1.0)
echo $metrics->countFor(LogLevel::Error); // Count per level