Article mis à jour le : 05-05-2022
La gestion de vos logs sous Symfony 2 avec le composant MonologLa gestion des logs est très importante dans un environnement de production, pas uniquement pour le développement!
Sous Symfony, les logs sont stockés dans :
Dans le contrôleur, on peut écrire dans le log comme ceci :
$loLogger = $this->get('logger');
$loLogger->info('Composant Logger chargé');
$loLogger->error(Houston, nous avons un problème');
Symfony 2 utilise pour cela le composant Monolog qui est extrêmement puissant. La configuration par défaut de l'édition standard suffit amplement pour l'environnement de développement, mais pas pour la production. Cette configuration se fait dans les fichiers :
Monolog permet comme tous les loggers de gérer plusieurs niveaux. Voici ci-dessous une configuration permettant de :
monolog:
handlers:
main:
type: fingers_crossed
action_level: error
handler: grouped
grouped:
type: group
members: [streamed, swift]
streamed:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
swift:
type: swift_mailer
from_email: email@expediteur.com
to_email: destinatairer@destinataire.com
subject: "Log de niveau ERROR sur l'application XXX"
level: debug
login:
type: stream
path: "%kernel.logs_dir%/auth.log"
level: info
channels: security