Project

General

Profile

Evolution #6238

Permettre de supprimer le préfixe des log sur la stortie d’erreur

Added by Daniel Dehennin over 6 years ago. Updated over 6 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Category:
-
Start date:
10/03/2013
Due date:
10/04/2013
% Done:

100%

Spent time:
Distribution:
EOLE 2.4

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 :

  1. 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')
    
  2. 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

Revision f5a427a5 (diff)
Added by Daniel Dehennin over 6 years ago

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

Revision cb2cc527 (diff)
Added by Daniel Dehennin over 6 years ago

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 over 6 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 over 6 years ago

  • Status changed from Accepté to Résolu
  • % Done changed from 0 to 100

#3 Updated by Joël Cuissinat over 6 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: 

Also available in: Atom PDF