tcllib/logger: A Logger for Tcl

风行水上 @ 2014-01-23 19:51:27
标签:

    Basic Usage

    package require tcllib
    package require logger
    set log [ logger::init noyesno::tcl ]
    
    ${log}::notice "hello notice"
    
    proc log2stderr {txt} {
      puts stderr "stderr: $txt"
    }
    
    ${log}::logproc notice log2stderr
    

    Format the Output

    package require logger::utils
    
    set proc [::logger::utils::createLogProc -procName log2warn \
      -conversionPattern "~ %d %p: %c - [id host]:[pid] # %m" \
      -category [${log}::servicename] -priority warn ]
    
    {*}$proc
    
    ${log}::logproc warn [lindex $proc 1]
    
    ${log}::warn "hello warn"
    
    
    ;# demo output
    ;# ~ 2014/01/23 03:46:39 warn: noyesno::tcl - hostname:4219 # hello warn
    

    Trace Command

    proc task {args} {
      puts "... task ..."
    }
    
    proc tracecmd { dict } {
      puts $dict
    }
    
    ${log}::logproc trace  tracecmd
    
    ${log}::trace add task
    ${log}::trace on
    
    ;# demo output
    ;# enter {proc ::task level 1 script test.tcl caller {} procargs {args {}}}
    ;# leave {proc ::task level 1 script test.tcl caller {} status ok result {}}
    
    标签:

      分享到:
      comments powered by Disqus

      27/31ms