15 Les Bases de Laravel 11 : Logging

Maitrisez les essentiels du logging dans Laravel 11 avec ce guide complet. Ameliorez les capacites de surveillance et de debogage de votre application.
Configuration
Toutes les options de configuration qui controlent le comportement de logging de votre application sont stockees dans le fichier de configuration config/logging.php. Ce fichier vous permet de configurer les canaux de log de votre application. Par defaut, Laravel utilise le canal stack pour agreger plusieurs canaux de log en un seul canal.
// config/logging.php
return [
'default' => env('LOG_CHANNEL', 'stack'),
'channels' => [
'stack' => [
'driver' => 'stack',
'channels' => ['single', 'slack'],
],
// Autres configurations de canaux...
],
];Pilotes de Canaux Disponibles
Chaque canal de log est alimente par un "pilote". Les pilotes de canaux de log suivants sont disponibles dans chaque application Laravel :
single: Un logger base sur un fichier unique ou un chemin.daily: Un gestionnaire de fichiers rotatif qui tourne quotidiennement.slack: Envoie les messages de log a Slack.syslog: Envoie les messages de log au syslog.errorlog: Envoie les messages de log au log d'erreurs systeme.custom: Utilise une usine specifiee pour creer un canal.
// config/logging.php
return [
'channels' => [
'single' => [
'driver' => 'single',
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
],
'slack' => [
'driver' => 'slack',
'url' => env('LOG_SLACK_WEBHOOK_URL'),
'username' => 'Laravel Log',
'emoji' => ':boom:',
'level' => 'critical',
],
],
];Ecrire des Messages de Log
Vous pouvez ecrire des informations dans les logs en utilisant la facade Log. Laravel fournit les huit niveaux de logging definis dans la specification RFC 5424 : emergency, alert, critical, error, warning, notice, info et debug.
use Illuminate\Support\Facades\Log;
Log::emergency('Message d\'urgence');
Log::alert('Message d\'alerte');
Log::critical('Message critique');
Log::error('Message d\'erreur');
Log::warning('Message d\'avertissement');
Log::notice('Message de notice');
Log::info('Message d\'information');
Log::debug('Message de debug');Informations Contextuelles
Un tableau de donnees contextuelles peut etre passe aux methodes de log. Ces donnees contextuelles seront formatees et affichees avec le message de log.
use Illuminate\Support\Facades\Log;
Log::info('L\'utilisateur {id} a echoue a se connecter.', ['id' => $user->id]);Vous pouvez egalement partager des informations contextuelles sur tous les canaux de logging en utilisant la methode Log::shareContext.
use Illuminate\Support\Facades\Log;
Log::shareContext(['request_id' => $requestId]);Personnaliser les Canaux de Log
Vous pouvez personnaliser Monolog pour les canaux en definissant un tableau tap dans la configuration du canal. Ce tableau doit contenir une liste de classes qui peuvent modifier l'instance Monolog.
// config/logging.php
return [
'channels' => [
'single' => [
'driver' => 'single',
'tap' => [App\Logging\CustomizeFormatter::class],
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
],
],
];Definissez la classe qui personnalisera votre instance Monolog :
namespace App\Logging;
use Monolog\Formatter\LineFormatter;
use Monolog\Logger;
class CustomizeFormatter
{
public function __invoke(Logger $logger)
{
foreach ($logger->getHandlers() as $handler) {
$handler->setFormatter(new LineFormatter(
'[%datetime%] %channel%.%level_name%: %message% %context% %extra%'
));
}
}
}Conclusion
Comprendre le systeme de logging de Laravel est essentiel pour surveiller et deboguer votre application. En configurant et personnalisant les canaux de log, vous pouvez vous assurer que les informations critiques sont enregistrees et facilement accessibles.
Pour plus d'informations detaillees, consultez la documentation officielle du Logging Laravel 11.
Discutez de votre projet avec nous
Nous sommes ici pour vous aider avec vos besoins en développement Web. Planifiez un appel pour discuter de votre projet et comment nous pouvons vous aider.
Trouvons les meilleures solutions pour vos besoins.
Articles connexes

1 Les Bases de Laravel 11 : PHP en 15 minutes
Un article instructif qui enseigne les bases du langage de programmation PHP.

13 Les Bases de Laravel 11 : Validation
Apprenez les bases de la validation des donnees dans Laravel 11 avec un guide professionnel et informatif. Ce tutoriel couvre la definition des routes, la creation des controleurs et l'implementation de la logique de validation.

Demarrer avec Laravel 11 : Installation, Configuration et Structure des Repertoires
Demarrer avec Laravel 11 : Installation, Configuration et Structure des Repertoires