Go编程:日志处理、命令行工具开发与并发编程
1. 日志发送到 io.Discard
在Go编程中,我们可以使用 io.Discard 来丢弃日志条目。 io.Discard 会忽略所有的 Write() 调用,不做任何处理。以下是 discard.go 中 main() 函数的实现:
func main() {
if len(os.Args) == 1 {
log.Println("Enabling logging!")
log.SetOutput(os.Stderr)
} else {
log.SetOutput(os.Stderr)
log.Println("Disabling logging!")
log.SetOutput(io.Discard)
log.Println("NOT GOING TO GET THAT!")
}
}
该程序通过命令行参数来控制日志的启用和禁用。当只有一个命令行参数时,日志启用;否则,日志禁用。禁用日志的语句是 log.SetOutput(io.Discard) 。在禁用日志之前,会打印一条日志说明即将禁用日志。
运行 discard.go 会产生以下输出:
超级会员免费看
订阅专栏 解锁全文
976

被折叠的 条评论
为什么被折叠?



