12345678910111213141516171819202122232425262728293031 |
- package nebula
- import (
- "github.com/sirupsen/logrus"
- )
- type ContextualError struct {
- RealError error
- Fields map[string]interface{}
- Context string
- }
- func NewContextualError(msg string, fields map[string]interface{}, realError error) ContextualError {
- return ContextualError{Context: msg, Fields: fields, RealError: realError}
- }
- func (ce ContextualError) Error() string {
- return ce.RealError.Error()
- }
- func (ce ContextualError) Unwrap() error {
- return ce.RealError
- }
- func (ce *ContextualError) Log(lr *logrus.Logger) {
- if ce.RealError != nil {
- lr.WithFields(ce.Fields).WithError(ce.RealError).Error(ce.Context)
- } else {
- lr.WithFields(ce.Fields).Error(ce.Context)
- }
- }
|