Compare commits
	
		
			5 Commits
		
	
	
		
			9dffc41274
			...
			v0.0.274
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 7577a2dd47 | |||
| 08681756b6 | |||
| 64772d0474 | |||
| 127764556e | |||
| 170f43d806 | 
| @@ -164,7 +164,7 @@ func (ee *ExErr) FormatLog(lvl LogPrintLevel) string { | |||||||
| } | } | ||||||
|  |  | ||||||
| func (ee *ExErr) ShortLog(evt *zerolog.Event) { | func (ee *ExErr) ShortLog(evt *zerolog.Event) { | ||||||
| 	ee.Meta.Apply(evt).Msg(ee.FormatLog(LogPrintShort)) | 	ee.Meta.Apply(evt, langext.Ptr(240)).Msg(ee.FormatLog(LogPrintShort)) | ||||||
| } | } | ||||||
|  |  | ||||||
| // RecursiveMessage returns the message to show | // RecursiveMessage returns the message to show | ||||||
|   | |||||||
| @@ -217,23 +217,35 @@ func (v MetaValue) ShortString(lim int) string { | |||||||
| 	return "(err)" | 	return "(err)" | ||||||
| } | } | ||||||
|  |  | ||||||
| func (v MetaValue) Apply(key string, evt *zerolog.Event) *zerolog.Event { | func (v MetaValue) Apply(key string, evt *zerolog.Event, limitLen *int) *zerolog.Event { | ||||||
| 	switch v.DataType { | 	switch v.DataType { | ||||||
| 	case MDTString: | 	case MDTString: | ||||||
| 		return evt.Str(key, v.Value.(string)) | 		if limitLen == nil { | ||||||
|  | 			return evt.Str(key, v.Value.(string)) | ||||||
|  | 		} else { | ||||||
|  | 			evt.Str(key, langext.StrLimit(v.Value.(string), *limitLen, "...")) | ||||||
|  | 		} | ||||||
| 	case MDTID: | 	case MDTID: | ||||||
| 		return evt.Str(key, v.Value.(IDWrap).Value) | 		return evt.Str(key, v.Value.(IDWrap).Value) | ||||||
| 	case MDTAny: | 	case MDTAny: | ||||||
| 		if v.Value.(AnyWrap).IsError { | 		if v.Value.(AnyWrap).IsError { | ||||||
| 			return evt.Str(key, "(err)") | 			return evt.Str(key, "(err)") | ||||||
| 		} else { | 		} else { | ||||||
| 			return evt.Str(key, v.Value.(AnyWrap).Json) | 			if limitLen == nil { | ||||||
|  | 				return evt.Str(key, v.Value.(AnyWrap).Json) | ||||||
|  | 			} else { | ||||||
|  | 				evt.Str(key, langext.StrLimit(v.Value.(AnyWrap).Json, *limitLen, "...")) | ||||||
|  | 			} | ||||||
| 		} | 		} | ||||||
| 	case MDTStringPtr: | 	case MDTStringPtr: | ||||||
| 		if langext.IsNil(v.Value) { | 		if langext.IsNil(v.Value) { | ||||||
| 			return evt.Str(key, "<<null>>") | 			return evt.Str(key, "<<null>>") | ||||||
| 		} | 		} | ||||||
| 		return evt.Str(key, langext.CoalesceString(v.Value.(*string), "<<null>>")) | 		if limitLen == nil { | ||||||
|  | 			return evt.Str(key, langext.CoalesceString(v.Value.(*string), "<<null>>")) | ||||||
|  | 		} else { | ||||||
|  | 			evt.Str(key, langext.StrLimit(langext.CoalesceString(v.Value.(*string), "<<null>>"), *limitLen, "...")) | ||||||
|  | 		} | ||||||
| 	case MDTInt: | 	case MDTInt: | ||||||
| 		return evt.Int(key, v.Value.(int)) | 		return evt.Int(key, v.Value.(int)) | ||||||
| 	case MDTInt8: | 	case MDTInt8: | ||||||
| @@ -702,9 +714,9 @@ func (mm MetaMap) Any() bool { | |||||||
| 	return len(mm) > 0 | 	return len(mm) > 0 | ||||||
| } | } | ||||||
|  |  | ||||||
| func (mm MetaMap) Apply(evt *zerolog.Event) *zerolog.Event { | func (mm MetaMap) Apply(evt *zerolog.Event, limitLen *int) *zerolog.Event { | ||||||
| 	for key, val := range mm { | 	for key, val := range mm { | ||||||
| 		evt = val.Apply(key, evt) | 		evt = val.Apply(key, evt, limitLen) | ||||||
| 	} | 	} | ||||||
| 	return evt | 	return evt | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| package goext | package goext | ||||||
|  |  | ||||||
| const GoextVersion = "0.0.271" | const GoextVersion = "0.0.274" | ||||||
|  |  | ||||||
| const GoextVersionTimestamp = "2023-09-26T14:32:45+0200" | const GoextVersionTimestamp = "2023-09-27T16:18:21+0200" | ||||||
|   | |||||||
| @@ -1,7 +1,10 @@ | |||||||
| package langext | package langext | ||||||
|  |  | ||||||
|  | import "runtime/debug" | ||||||
|  |  | ||||||
| type PanicWrappedErr struct { | type PanicWrappedErr struct { | ||||||
| 	panic any | 	panic any | ||||||
|  | 	Stack string | ||||||
| } | } | ||||||
|  |  | ||||||
| func (p PanicWrappedErr) Error() string { | func (p PanicWrappedErr) Error() string { | ||||||
| @@ -15,7 +18,7 @@ func (p PanicWrappedErr) ReoveredObj() any { | |||||||
| func RunPanicSafe(fn func()) (err error) { | func RunPanicSafe(fn func()) (err error) { | ||||||
| 	defer func() { | 	defer func() { | ||||||
| 		if rec := recover(); rec != nil { | 		if rec := recover(); rec != nil { | ||||||
| 			err = PanicWrappedErr{panic: rec} | 			err = PanicWrappedErr{panic: rec, Stack: string(debug.Stack())} | ||||||
| 		} | 		} | ||||||
| 	}() | 	}() | ||||||
|  |  | ||||||
| @@ -27,7 +30,7 @@ func RunPanicSafe(fn func()) (err error) { | |||||||
| func RunPanicSafeR1(fn func() error) (err error) { | func RunPanicSafeR1(fn func() error) (err error) { | ||||||
| 	defer func() { | 	defer func() { | ||||||
| 		if rec := recover(); rec != nil { | 		if rec := recover(); rec != nil { | ||||||
| 			err = PanicWrappedErr{panic: rec} | 			err = PanicWrappedErr{panic: rec, Stack: string(debug.Stack())} | ||||||
| 		} | 		} | ||||||
| 	}() | 	}() | ||||||
|  |  | ||||||
| @@ -38,7 +41,7 @@ func RunPanicSafeR2[T1 any](fn func() (T1, error)) (r1 T1, err error) { | |||||||
| 	defer func() { | 	defer func() { | ||||||
| 		if rec := recover(); rec != nil { | 		if rec := recover(); rec != nil { | ||||||
| 			r1 = *new(T1) | 			r1 = *new(T1) | ||||||
| 			err = PanicWrappedErr{panic: rec} | 			err = PanicWrappedErr{panic: rec, Stack: string(debug.Stack())} | ||||||
| 		} | 		} | ||||||
| 	}() | 	}() | ||||||
|  |  | ||||||
| @@ -50,7 +53,7 @@ func RunPanicSafeR3[T1 any, T2 any](fn func() (T1, T2, error)) (r1 T1, r2 T2, er | |||||||
| 		if rec := recover(); rec != nil { | 		if rec := recover(); rec != nil { | ||||||
| 			r1 = *new(T1) | 			r1 = *new(T1) | ||||||
| 			r2 = *new(T2) | 			r2 = *new(T2) | ||||||
| 			err = PanicWrappedErr{panic: rec} | 			err = PanicWrappedErr{panic: rec, Stack: string(debug.Stack())} | ||||||
| 		} | 		} | ||||||
| 	}() | 	}() | ||||||
|  |  | ||||||
| @@ -63,7 +66,7 @@ func RunPanicSafeR4[T1 any, T2 any, T3 any](fn func() (T1, T2, T3, error)) (r1 T | |||||||
| 			r1 = *new(T1) | 			r1 = *new(T1) | ||||||
| 			r2 = *new(T2) | 			r2 = *new(T2) | ||||||
| 			r3 = *new(T3) | 			r3 = *new(T3) | ||||||
| 			err = PanicWrappedErr{panic: rec} | 			err = PanicWrappedErr{panic: rec, Stack: string(debug.Stack())} | ||||||
| 		} | 		} | ||||||
| 	}() | 	}() | ||||||
|  |  | ||||||
|   | |||||||
| @@ -73,7 +73,7 @@ func (c *Coll[TData]) ReplaceOne(ctx context.Context, filterQuery bson.M, value | |||||||
| } | } | ||||||
|  |  | ||||||
| func (c *Coll[TData]) FindOneAndReplace(ctx context.Context, filterQuery bson.M, value TData) (TData, error) { | func (c *Coll[TData]) FindOneAndReplace(ctx context.Context, filterQuery bson.M, value TData) (TData, error) { | ||||||
| 	mongoRes := c.coll.FindOneAndUpdate(ctx, filterQuery, bson.M{"$set": value}, options.FindOneAndUpdate().SetReturnDocument(options.After)) | 	mongoRes := c.coll.FindOneAndReplace(ctx, filterQuery, value, options.FindOneAndReplace().SetReturnDocument(options.After)) | ||||||
| 	if err := mongoRes.Err(); err != nil { | 	if err := mongoRes.Err(); err != nil { | ||||||
| 		return *new(TData), exerr.Wrap(err, "mongo-query[find-one-and-update] failed"). | 		return *new(TData), exerr.Wrap(err, "mongo-query[find-one-and-update] failed"). | ||||||
| 			Str("collection", c.Name()). | 			Str("collection", c.Name()). | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user