Evolution #6238
Permettre de supprimer le préfixe des log sur la stortie d’erreur
Description
Les logs affichés sur la sortie d’erreur sont préfixés par le nom du module python qui émet le message (source:pyeole/log.py?rev=7734962#L193).
Il serait utile de pouvoir supprimer ce préfixe pour certains gestionnaire de log, par exemple pour les programmes et scripts :
- Définir un gestionnaire local au programme afin d’interagir avec l’utilisateur, il doit être défini en premier
from pyeole.log import init_logging # Use info for normal interaction log = init_logging(name='SuperTool', level='info') # Remove name prefix for messages on stderr set_formatter(log, 'stderr', 'brief')
- Définir un gestionnaire racine afin d’afficher les erreurs/warnings de tous les sous modules:
root_log = init_logging(level='warning')
Ainsi, les messages warning et erreur des sous modules seront gérés par root_log
et affichés avec le nom du module, tandis que ceux du programmes n’auront pas de préfixe.
>>> from pyeole.log import init_logging, set_formatter
>>> log = init_logging(name=u'SuperTool', level=u'info')
>>> root_log = init_logging(level=u'debug')
>>> from pyeole.pkg import EolePkg
pyeole.pkg - python-yum not found
>>> log.warn(u'ATTENTION: vous devez faire attention')
SuperTools - ATTENTION: vous devez faire attention
>>> set_formatter(log, 'stderr', 'brief')
>>> log.warn(u'ATTENTION: vous devez faire attention')
ATTENTION: vous devez faire attention
Associated revisions
API de redéfinission du formattage des messages de log
La nouvelle fonction « set_formatter() » permet de définir le format des
messages pour un gestionnaire particulier d’un loggeur.
Le nom du format est vérifié parmis des formats prédéfinis.
Le nom du gestionnaire est cherché parmis tous les gestionnaires du
loggeur.
- pyeole/log.py (_HANDLERS_DICT): Dictionnaire de définition des
gestionnaires de log.
(_FORMATTERS_DICT): Dictionnaire de définition des formats de log.
(_FILTERS_DICT): Dictionnaire de définition des filtres par niveau de
log.
(init_logging): Utilisation des dictionnaires privés du module.
Amélioration de la documentation.
(set_formatter): Redéfinition du format pour un handler de log.
Fixes: #6238 @2h
API de redéfinission des filters des gestionnaires de log
La nouvelle fonction « set_filters() » permet de définir le filtre de
niveau de log pour un gestionnaire particulier d’un loggeur.
Le nom des filters sont vérifiés parmis des filtres prédéfinis.
Le nom du gestionnaire est cherché parmis tous les gestionnaires du
loggeur.
- pyeole/log.py (set_filters): Redéfinition du filtre d’un handler de
log.
Ref: #6238 @30m
History
#1 Updated by Daniel Dehennin almost 10 years ago
- Due date set to 10/04/2013
- Status changed from Nouveau to Accepté
- Assigned To set to Daniel Dehennin
- Target version set to Eole 2.4-alpha2
- Start date set to 10/03/2013
#2 Updated by Daniel Dehennin almost 10 years ago
- Status changed from Accepté to Résolu
- % Done changed from 0 to 100
Appliqué par commit f5a427a575a71b00dfc71a2e63a1a62d7d02e390.
#3 Updated by Joël Cuissinat almost 10 years ago
- Status changed from Résolu to Fermé
Vu dans le cas pratique des mots de passe :
Gestion des utilisateurs systèmes ###################################################### # Changement du mot de passe pour l’utilisateur root # ###################################################### Nouveau mot de passe: Confirmation du mot de passe: