Comment rapidement accéder aux logs d'un environnement de production symfony 1.x en moins de tapes clavier posible
Tags
symfony trucs - 📁 tranche-de-vie
Est-ce que ça vous est arrivé de vouloir voir les logs de votre application symfony 1.4 en production pour un problème et qu'aucune info n'est disponible pour savoir quel est le problème.
Ça m'est arrivé une fois de trop cet après midi. Ma solution est simple, utiliser le concept du yaml de symfony qui accepte du PHP, puis de faire UNE switch qu'on peut "flipper" pour pouvoir consulter le log.
Sans interruptions de serveur, ni pertes dangeureuses de performances **
Comment j'ai fait
J'ai ajouté a mon projet un simple bloc conditionnel qui va comme suit.1. Fichier factories.yml
Ajouter cette condition dans le bloc prod:prod:
< ?php
/**
* En cas de besoin debug, flipper 0/1 pour pouvoir accéder aux logs.
*
* 0 = Pas de debug
*
* Ne pas oublier de faire un ./symfony cc :)
**/
if(0){
echo'
logging_enabled: true
logger:
class: sfAggregateLogger
param:
level: debug
loggers:
sf_file_degug:
class: sfFileLogger
param:
level: debug
file: %SF_LOG_DIR%%SF_APP%%SF_ENVIRONMENT%.log
';
} else {
echo'
logger:
class: sfNoLogger
param:
level: err
loggers: ~
';
} ?>
2. Nettoyer la cache
Tout simplement../symfony cc
3. Suivre le log
tail -f log/frontend_prod.log
Bonsoir!!