# IMessenger ## TOOD * [ ] section(), title() et action() acceptent une fonction qui fait le travail avec en premier argument l'instance de messenger, et qui termine l'objet l'objet ensuite * [ ] possibilité de paramétrer le nom du fichier destination pour faire une rotation des logs * [ ] support quiet (uniquement major), very-quiet (aucun message n'est affiché) * [ ] support verbose? cela suppose rajouter un niveau supplémentaire `LEVEL_MINOR` entre `LEVEL_DEBUG` et `LEVEL_NORMAL` ## Principe * 3 niveaux: DEBUG, NORMAL, MAJOR * plusieurs types de messages: * section: flush tous les messages en cours, ne peut pas être imbriqué * title: début d'une action de haut niveau, peut être imbriqué * desc: description longue de l'action de haut niveau qui vient de démarrer * print: donnée non structurée * action: début d'une action, peut être imbriqué * step: étape d'une action * success: résultat: action réussie * failure: résultat: action ratée * info: événement: pour information * note: événement: information importante * warn: événement: avertissement * error: événement: erreur * end: fin de action ou title * section, title et desc ne sont affichés que si une action ou un événement est affiché en-dessous * quand on "rajoute" une desc, décider s'il faut remplacer la description en cours pas encore affichée, ou s'il faut simplement le rajouter à la suite visuellement: * debug ~~~ >> section << t title > desc print . action: . step v action success . action: . step x action failure v action success x action failure . action0: . action1: ? action2 result ? action1 result ? action0 result i info w warn e error t title0 t title1 print under title1 print under title0 ~~~ result est soit success, soit failure.. * normal ~~~ >>> section <<< >>> ------- <<< T title > desc print . action: . step V action success . action: . step X action failure V action success X action failure . action0: . action1: ? action2 result ? action1 result ? action0 result I info W warn E error T title0 T title1 print under title1 print under title0 ~~~ * major ~~~ =========== = section = =========== title ------- > desc print . action: . step V action success . action: . step X action failure V action success X action failure . action0: . action1: ? action2 result ? action1 result ? action0 result NOTE: info ATTENTION: warn CRITICAL: error title0 -------- title1 -------- print under title1 print under title0 ~~~ -*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary