Memo sur les logs de la Note Kfet
J'ecris avec un qwerty, faite moi penser a corriger les accents (ou autres...) -- WikiSkippy
Ou trouver les logs de la Note Kfet ?
Il y a plusieurs endroits ou on peut trouver des logs de la Note Kfet, et chacun a sont utilite:
- dans la table log de la base de donnees,
- des fichiers de logs dont l'emplacement dependent des variables suivantes dans le fichier de configuration du serveur:
- logfile: ~note/note-kfet-2015-serveur/server.log
- default_stdout: /var/log/note/full_log.log
- integritylogfile et integrityerrorfile: ~note/note-kfet-2015-serveur/integrite/
- les fichiers de logs du serveur web nginx: /var/log/nginx/
- les fichiers de logs de la base de donnees: /var/log/postgresql/
- les logs systemes classiques (dmesg, auth.log, ...)
- les mails d'erreurs sur respo-info.bde@lists
Fonctionnement
Du cote du backend
Il y a trois types de log differents.
Le premier reference toutes les operations en ecriture reussites dans la base de donnees et est stocke dans la table log. On y retrouve: l'ip et l'identifiant de la personne connectee qui a effectue l'action, si les droits forced ou overforced ont ete utilises et d'autres informations dependantes de la fonction utilisee. La fonction _log permet d'ecrire dans cette table.
Le deuxieme, correspondant aux fichiers logfile et default_stdout, sont le resultat de l'appel a la fonction _debug, suivant le niveaux de verbosite du serveur definit par les variables debug_level_logfile (actuellement a 4) et debug_level_stdout (actuellement a 5):
- Niveaux de verbosité du débug (dans le fichier et en stdout (ignoré si le debug_stdout est à False))
- Chaque niveau rajoute des choses qui sont loguées
0 : rien (difficile de débuguer).
1 : seulement quand quelque chose a été modifié (coïncide avec les appels à log) ou les messages de démarrage/arrêt.
2 : les erreurs "ennuyeuses", c'est-à-dire, qui ne devrait jamais survenir dans une note sans bug…
3 : toutes les erreurs/commandes échouées aussi sont loguées.
4 : les commandes réussies (mais qui ne font pas de modification) également.
5 : tout (les réponses aux :py:meth:Server.mayi et les messages de thread lancé, communication entre Server, attente du départ des clients.)
Pour les exceptions non prevues (type 2), le traceback est ecrit dans ces logs.
ToDo: envoyer un mail dans la situation 2.
Le dernier, sont les logs des tests d'integrites. J'ai l'impression que c'est un reliquat de la beta, les rapports d'integrites etant dorenavant envoyes par mail et ces fichiers etant pratiquement vides.
Du cote du serveur web
Les logs nginx ne sont pas tres interessants en soit, sauf pour corriger des erreurs de configuration du serveur web. note.log reference les requetes HTTP(S) envoyees, error.log les acces refuses ou les sockets n'ayant pas pu etre ouverte vers le backend.
Les erreurs: code errone, reponse mal formulee de la part du serveur, ... sont soit:
Ecrite quelque part si le parametre DEBUG est a True <PRECISER>
- Envoye par mail au respo-infos sinon
<EXPLIQUER COMMENT METTRE EN DEBUG>