nur-sery/src/output/TODO.md

2.8 KiB

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