我发现log4go软件包有时会丢失日志。
以下是一个简单的代码片段(我将log4go
目录移动到了,因此可以进行以下导入):
package main
import (
"log4go"
"log"
"fmt"
)
func main() {
fmt.Println("fmt")
log.Println("log")
log4go.Info("log4go")
log4go.Info("log4go")
}
然后我通过
go run test.go
执行了它,输出如下:fmt
2013/01/10 15:24:04 log
log4go
的消息不会写入输出。为什么?
最佳答案
编辑:他们的入门页面似乎不再是最新的,实际上我在将log4go打印到stdout时遇到了问题,在3.0.1版的文档中,他们指出:
那在我的盒子上是无法再现的。将其打印到stdout的唯一方法是在记录调用后通过调用os.Stdout.Sync()手动刷新(如@jnml建议)。
通常,我的印象是log4go的文档最近没有维护,示例不起作用,它们使用了不推荐使用的方法,因此一般行为难以理解。
关于logging - log4go的异常行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14252766/