- 多级别日志
- 日志备份
日志示例
package main import ( "github.com/sohaha/zlsgo/zlog" ) func main(){ zlog.Debug("我是一个测试") zlog.Warnf("%s\n","我是一个警告") zlog.Error("我是一个错误日志") hi := "我是特别的有用的,不信你可以用我打印一个变量试试" zlog.Dump(hi) zlog.Stack("打印下堆栈") }
日志前缀
支持两种方式设置日志前缀
// 初始化一个新实例 var logger = zlog.New("前缀") // 动态设置 zlog.SetPrefix("前缀")
日志等级
大于指定等级的日志将不会输出
// 日志等级信息参考下面: const ( LogFatal = iota LogPanic LogError LogWarn LogSuccess LogInfo LogDebug LogDump ) // 设置输出的日志等级,比如不输出 info debug 等级的日志 zlog.SetLogLevel(zlog.LogSuccess) // 获取当前输出的日志等级 zlog.GetLogLevel()
颜色日志
// 关闭颜色输出 zlog.DisableConsoleColor() // 重新开启颜色输出 zlog.ForceConsoleColor()
保存日志
// 把日志保存到指定文件 zlog.SetFile("文件路径") // 日志按日期归档 zlog.SetFile("文件路径", true) // 日志按日期归档,那么日志最长的保存日期是半个月,15 天之前的日志会自动删除, // 如果想自定义移除时长为 30 天 zlog.LogMaxDurationDate = 30 // 把日志保存到指定文件同时也在终端输出 zlog.SetSaveFile("文件路径")
日志上报
type Report struct { Writer io.Writer } func (w *Report) Write(p []byte) (n int, err error) { // Here you can initiate an HTTP request to report an error fmt.Println("Report: ", string(p)) return w.Writer.Write(p) } w := &Report{Writer: os.Stderr} log := zlog.New() // 自定义写入 log.Writer().Set(w) log.Info("Push")