如何自动定位文件
最近发现goland会自动识别输出的文件或者url,但是有时候又识别不出来,折腾了一下,发现原来要求文件路径或url两边要有空格
改造zerolog
既然如此,那么让我们来改造一下zerolog,跟踪了一下代码,发现原来写都在io.writer里,于是复制出这个文件,然后增加了一个格式化代码
完整的代码在github
增加颜色输出
可以使用这个库,github.com/mattn/go-colorable,输出到它的colorable.NewColorableStdout里面去
测试结果
package main
import (
"github.com/mattn/go-colorable"
"github.com/rs/zerolog"
"github.com/dwdcth/consoleEx"
)
func main() {
out := consoleEx.ConsoleWriterEx{Out: colorable.NewColorableStdout()}
zerolog.CallerSkipFrameCount = 2 //这里根据实际,另外获取的是Msg调用处的文件路径和行号
logger := zerolog.New(out).With().Caller().Timestamp().Logger()
logger.Info().Msg("info")
logger.Debug().Msg("debug")
}