Blog geekesque... ou presque

Aller au contenu | Aller au menu | Aller à la recherche

Log coloré en TCL

Pour faire suite au billet Log coloré en PHP, voici la version utilisable en TCL.

Je me suis appuyé sur une astuce donnéesur wiki.tcl.tk et tout particulièrement sur la proposition d'Andy Goth.

Code

namespace eval d {
   variable levels {"error" "warning" "notice" "debug" "info" "success"}
   foreach {name value} {r 1 g 2 b 4 c 6 m 5 y 3} {
      proc $name {} "return \033\\\[01\\;3${value}m"
      proc [string toupper $name] {} "return \033\\\[01\\;4${value}m"
   }
   proc n {} {return \033\[\;0m}
   proc puts {text {level ""}} {
      switch -nocase $level {
         "error" { ::puts "[r]$text[n]" }
         "warning" { ::puts "[y]$text[n]" }
         "notice" { ::puts "[c]$text[n]" }
         "debug" { ::puts "[m]$text[n]" }
         "info" { ::puts "[b]$text[n]" }
         "success" { ::puts "[g]$text[n]" }
         default { ::puts "$text" }
      }
   }
}

Utilisation

Voici un petit script de test:

#/usr/bin/tclsh
source debugger.tcl
foreach level $::d::levels {
   ::d::puts "Level is set to $level" $level
}

Le rendu sera:

Level is set to error
Level is set to warning
Level is set to notice
Level is set to debug
Level is set to info
Level is set to success

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

La discussion continue ailleurs

URL de rétrolien : https://www.g33k-zone.org/index.php?trackback/110

Fil des commentaires de ce billet