Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
9e5bc0d3ea
|
|||
6d3bd13f61
|
|||
b5ca475b3f
|
|||
a75b1291cb
|
@@ -112,6 +112,13 @@ func (b *Builder) WithMessage(msg string) *Builder {
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
func (b *Builder) WithStackSkip(stacktraceskip int) *Builder {
|
||||
b.errorData.Caller = callername(stacktraceskip)
|
||||
return b
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// Err changes the Severity to ERROR (default)
|
||||
// The error will be:
|
||||
//
|
||||
|
@@ -4,7 +4,10 @@ import (
|
||||
"github.com/rs/xid"
|
||||
"github.com/rs/zerolog"
|
||||
"gogs.mikescher.com/BlackForestBytes/goext/langext"
|
||||
"gogs.mikescher.com/BlackForestBytes/goext/rext"
|
||||
"reflect"
|
||||
"regexp"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
@@ -77,7 +80,10 @@ func (ee *ExErr) As(target any) bool {
|
||||
}
|
||||
|
||||
func (ee *ExErr) Log(evt *zerolog.Event) {
|
||||
backup := zerolog.CallerMarshalFunc
|
||||
zerolog.CallerMarshalFunc = customZerologCallerMarshalFunc
|
||||
evt.Msg(ee.FormatLog(LogPrintFull))
|
||||
zerolog.CallerMarshalFunc = backup
|
||||
}
|
||||
|
||||
func (ee *ExErr) FormatLog(lvl LogPrintLevel) string {
|
||||
@@ -164,7 +170,10 @@ func (ee *ExErr) FormatLog(lvl LogPrintLevel) string {
|
||||
}
|
||||
|
||||
func (ee *ExErr) ShortLog(evt *zerolog.Event) {
|
||||
backup := zerolog.CallerMarshalFunc
|
||||
zerolog.CallerMarshalFunc = customZerologCallerMarshalFunc
|
||||
ee.Meta.Apply(evt).Msg(ee.FormatLog(LogPrintShort))
|
||||
zerolog.CallerMarshalFunc = backup
|
||||
}
|
||||
|
||||
// RecursiveMessage returns the message to show
|
||||
@@ -296,3 +305,10 @@ func (ee *ExErr) equalsDirectProperties(other *ExErr) bool {
|
||||
func newID() string {
|
||||
return xid.New().String()
|
||||
}
|
||||
|
||||
var regexZerologCallerClean = rext.W(regexp.MustCompile(`^(\.\./)*/?go/pkg/mod/gogs\.(mikescher|blackforestbytes)\.(com|de)/!black!forest!bytes/?`))
|
||||
|
||||
func customZerologCallerMarshalFunc(pc uintptr, file string, line int) string {
|
||||
file = regexZerologCallerClean.ReplaceAll(file, "", true)
|
||||
return file + ":" + strconv.Itoa(line)
|
||||
}
|
||||
|
@@ -5,7 +5,6 @@ import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/rs/zerolog"
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
@@ -616,9 +615,12 @@ func (v MetaValue) rawValueForJson() any {
|
||||
if v.Value.(AnyWrap).IsError {
|
||||
return bson.M{"@error": true}
|
||||
}
|
||||
jsonobj := gin.H{}
|
||||
jsonobj := primitive.M{}
|
||||
jsonarr := primitive.A{}
|
||||
if err := json.Unmarshal([]byte(v.Value.(AnyWrap).Json), &jsonobj); err == nil {
|
||||
return jsonobj
|
||||
} else if err := json.Unmarshal([]byte(v.Value.(AnyWrap).Json), &jsonarr); err == nil {
|
||||
return jsonarr
|
||||
} else {
|
||||
return bson.M{"type": v.Value.(AnyWrap).Type, "data": v.Value.(AnyWrap).Json}
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
package goext
|
||||
|
||||
const GoextVersion = "0.0.249"
|
||||
const GoextVersion = "0.0.253"
|
||||
|
||||
const GoextVersionTimestamp = "2023-08-21T15:19:40+0200"
|
||||
const GoextVersionTimestamp = "2023-08-22T10:36:35+0200"
|
||||
|
Reference in New Issue
Block a user