美文网首页
zerolog心得

zerolog心得

作者: 百里江山 | 来源:发表于2020-05-10 23:10 被阅读0次

打印堆栈信息

  1. 必须设置zerolog.ErrorStackMarshaler = pkgerrors.MarshalStack
  2. 返回error时必须使用这个包 github.com/pkg/errors
  3. 采用Err方法 zerolog.Error().Err(err)
  4. 使用zerolog.Trace().Stack()
package main

import (
    "bytes"
    "fmt"
    "github.com/pkg/errors"
    "github.com/rs/zerolog"
    "github.com/rs/zerolog/pkgerrors"
)

func main() {
    zerolog.ErrorStackMarshaler = pkgerrors.MarshalStack

    out := &bytes.Buffer{}
    log := zerolog.New(out)

    err := errors.Wrap(errors.New("error message"), "from error")
    log.Trace().Stack().Err(err).Msg("")
    //log.Trace().Stack().Err(err).Send()
    fmt.Println(out.String())
    // {"level":"trace","stack":[{"func":"main","line":"17","source":"main.go"},{"func"
    //:"main","line":"203","source":"proc.go"},{"func":"goexit","line":"1357","source"
    //:"asm_amd64.s"}],"error":"from error: error message"}
}

相关文章

  • zerolog心得

    打印堆栈信息 必须设置zerolog.ErrorStackMarshaler = pkgerrors.Marsha...

  • 聊聊zerolog的encoder

    序 本文主要研究一下zerolog的encoder encoder github.com/rs/zerolog@v...

  • 聊聊zerolog的Hook

    序 本文主要研究一下zerolog的Hook Hook github.com/rs/zerolog@v1.20.0...

  • 聊聊zerolog的Level

    序 本文主要研究一下zerolog的Level Level github.com/rs/zerolog@v1.20...

  • 聊聊zerolog的Formatter

    序 本文主要研究一下zerolog的Formatter Formatter github.com/rs/zerol...

  • 聊聊zerolog的LevelWriter

    序 本文主要研究一下zerolog的LevelWriter LevelWriter github.com/rs/z...

  • Golang学习笔记-zerolog

    zerolog是一个高性能,支持日志等级,钩子的结构化日志库。log的Print()和Printf()方法默认输出...

  • zerolog日志高级使用

    使用github.com/pkg/errors打印详细的堆栈信息,输出非常友好。 设置堆栈打印详细调用过程 输出详...

  • 聊聊zerolog的send

    序 本文主要研究一下zerolog的send 实例 使用Send或者Msg来发送log 输出 Send githu...

  • 聊聊zerolog的diode.Writer

    序 本文主要研究一下zerolog的diode.Writer diode.Writer github.com/rs...

网友评论

      本文标题:zerolog心得

      本文链接:https://www.haomeiwen.com/subject/cjdenhtx.html