. */ declare(strict_types=1); namespace FireflyIII\Support\Logging; use Illuminate\Log\Logger; use Monolog\Formatter\LineFormatter; use Monolog\Handler\AbstractProcessingHandler; /** * Class AuditLogger */ class AuditLogger { /** * Customize the given logger instance. */ public function __invoke(Logger $logger): void { $processor = new AuditProcessor(); /** @var AbstractProcessingHandler $handler */ foreach ($logger->getHandlers() as $handler) { $formatter = new LineFormatter("[%datetime%] %channel%.%level_name%: %message% %context% %extra%\n", 'Y-m-d H:i:s', false, true); $handler->setFormatter($formatter); $handler->pushProcessor($processor); } } }