Categorygithub.com/yumemi-inc/zerolog-cockroachdb-errors

# README

Zerolog Error Marshaler for cockroachdb/errors

Marshals errors produced by cockroachdb/errors package for log output in zerolog. Inspired by github.com/rs/zerolog/pkgerrors.

Warning
This is not an official product of YUMEMI Inc.

Usage

Without Context

package main

import (
	"github.com/cockroachdb/errors"
	"github.com/rs/zerolog"
	"github.com/yumemi-inc/zerolog-cockroachdb-errors"
)

zerolog.ErrorStackMarshaler = cockroachdberrors.MarshalStack
log := zerolog.New(zerolog.NewConsoleWriter())

err := errors.Wrap(errors.New("error message"), "from error")
log.Log().Stack().Err(err).Send()

With Context

package main

import (
	"github.com/cockroachdb/errors"
	"github.com/rs/zerolog"
	"github.com/yumemi-inc/zerolog-cockroachdb-errors"
)

zerolog.ErrorStackMarshaler = cockroachdberrors.MarshalStack
log := zerolog.
	New(zerolog.NewConsoleWriter()).
	With().
	Stack().
	Logger()

err := errors.Wrap(errors.New("error message"), "from error")
log.Log().Err(err).Send()

Output

{
  "error": "from error: error message",
  "stack": [
    {
      "stacktrace": [
        {
          "source": "main.go",
          "line": 10,
          "func": "main"
        }
      ]
    },
    {
      "details": [
        "from error"
      ]
    },
    {
      "stacktrace": [
        {
          "source": "main.go",
          "line": 10,
          "func": "main"
        }
      ]
    },
    {
      "details": [
        "error message"
      ]
    }
  ]
}

# Functions

MarshalStack implements cockroachdb/errors stack trace marshaling.

# Structs

No description provided by the author
No description provided by the author