Projet

Général

Profil

Evolution #6238

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

Ajouté par Daniel Dehennin il y a plus de 10 ans. Mis à jour il y a plus de 10 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Début:
03/10/2013
Echéance:
04/10/2013
% réalisé:

100%

Temps passé:
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

Révisions associées

Révision f5a427a5 (diff)
Ajouté par Daniel Dehennin il y a plus de 10 ans

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

Révision cb2cc527 (diff)
Ajouté par Daniel Dehennin il y a plus de 10 ans

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

Historique

#1 Mis à jour par Daniel Dehennin il y a plus de 10 ans

  • Echéance mis à 04/10/2013
  • Statut changé de Nouveau à Accepté
  • Assigné à mis à Daniel Dehennin
  • Version cible mis à Eole 2.4-alpha2
  • Début mis à 03/10/2013

#2 Mis à jour par Daniel Dehennin il y a plus de 10 ans

  • Statut changé de Accepté à Résolu
  • % réalisé changé de 0 à 100

#3 Mis à jour par Joël Cuissinat il y a plus de 10 ans

  • Statut changé de Résolu à 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: 

Formats disponibles : Atom PDF