Auditing library is a small piece of code that allows logging events, describing their level, dumping stack and many other things that can really be useful when debugging an application.
For now only a small demonstration is available:
# small audit example package require audit::audit audit::configure -level 9 -logfile audit.txt -datafile audit.aud # just log that we're initializing audit::audit someType 3 "Initializing application" set var1 1 set var2(2) 1234 # log an error + contents of variables var1 and var2 audit::audit someType 1 "Error message" {var1 var2} # log an error + some other information (as name-value pairs) if {[catch { set fh [open /path/to/file.xml] } err]} { audit::audit someType 1 "Cannot open file: $err" {} \ errorInfo $::errorInfo errorCode $::errorCode }
06-06-02 12:12:54.6660 | someType | 3 | 0 | Initializing application 09-06-02 12:12:54.6662 | someType | 1 | 0 | Error message 06-06-02 12:12:54.6664 | someType | 1 | 0 | Cannot open file: couldn't open "/path/to/file.xml": no such file or directory