Back to list

Monolog - Structured Logging

Lv.5945@mukitaro11 playsDec 31, 2025

Monolog logging library with handlers, formatters, and structured context.

preview.php
PHP
1use Monolog\Logger;
2use Monolog\Handler\StreamHandler;
3use Monolog\Handler\RotatingFileHandler;
4use Monolog\Formatter\JsonFormatter;
5
6class LoggerFactory
7{
8 public function createLogger(string $channel): Logger
9 {
10 $logger = new Logger($channel);
11
12 $streamHandler = new StreamHandler(
13 'php://stdout',
14 Logger::DEBUG
15 );
16 $streamHandler->setFormatter(new JsonFormatter());
17 $logger->pushHandler($streamHandler);
18
19 $fileHandler = new RotatingFileHandler(
20 '/var/log/app.log',
21 7,
22 Logger::WARNING
23 );
24 $logger->pushHandler($fileHandler);
25
26 return $logger;
27 }
28
29 public function logWithContext(Logger $logger, array $data): void
30 {
31 $logger->info('Processing started', [
32 'user_id' => $data['user_id'],
33 'action' => $data['action'],
34 'timestamp' => time()
35 ]);
36 }
37}

Custom problems are not included in rankings