将puts的输出同时发送到日志文件和stdout?

时间:2013-03-15 09:38:04

标签: linux tcl expect

我这样做很多次,比如puts "$log" "blah blah blah"puts "blah blah blah" 一个用于将其放入日志文件,一个用于将其显示到stdout。

可以一行或以简单的方式完成,只需使用一个put或更好的方式。

我们还可以使用任何颜色代码输出彩色文本,例如linux中的tput

1 个答案:

答案 0 :(得分:5)

如果您是自己进行输出调用的人,请创建一个过程并调用它。

proc log2OutErr {msg} {
    global log

    puts $msg
    puts $log $msg
}

如果您希望 all 脚本输出同时转到logfile和stdout,请不要在Tcl中打开日志文件,只需在启动它时将脚本输出管道输出到teetclsh script.tcl | tee logfile,然后puts到标准输出。