My website is built over Slim Framework V3, and uses Monolog. I want to get an email notification when something goes wrong on my website (any log message above Error). In other words, I want to know when a Critical, Alert or Emergency message is logged.
Ideally, I want to also get the logs right before the error also in the same email, to make it easier to debug.
This is my current Monolog configuration (Slim default):
// monolog
$container['logger'] = function ($c) {
/** @var \Slim\Container $c */
$settings = $c->get('settings')['logger'];
$logger = new Monolog\Logger($settings['name']);
$logger->pushProcessor(new Monolog\Processor\UidProcessor());
$logger->pushHandler(new Monolog\Handler\StreamHandler($settings['path'], $settings['level']));
return $logger;
}
These are the log settings:
return [
// Monolog settings
'logger' => [
'name' => 'slim-app',
'path' => __DIR__ . '/logs/' . $logDate->format('Y-m-d') . '_app.log', //TODO: Make sure logs are above DocumentRoot
'level' => \Monolog\Logger::DEBUG,
]
];