|
|
|
@ -1,8 +1,8 @@ |
|
|
|
|
package log |
|
|
|
|
|
|
|
|
|
import ( |
|
|
|
|
"fmt" |
|
|
|
|
"github.com/rs/zerolog" |
|
|
|
|
"runtime/debug" |
|
|
|
|
"strings" |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
func Assert(condition bool, msg string) { |
|
|
|
@ -12,19 +12,24 @@ func Assert(condition bool, msg string) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func Debugf(format string, args ...interface{}) { |
|
|
|
|
logFinally(logger.Debug(), format, args...) |
|
|
|
|
logger.Debug().Msgf(format, args...) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func Infof(format string, args ...interface{}) { |
|
|
|
|
logFinally(logger.Info(), format, args...) |
|
|
|
|
logger.Info().Msgf(format, args...) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func Warnf(format string, args ...interface{}) { |
|
|
|
|
logFinally(logger.Warn(), format, args...) |
|
|
|
|
logger.Warn().Msgf(format, args...) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func Panicf(format string, args ...interface{}) { |
|
|
|
|
logFinally(logger.Panic(), format, args...) |
|
|
|
|
stack := string(debug.Stack()) |
|
|
|
|
stack = strings.ReplaceAll(stack, "\n\t", "]<-") |
|
|
|
|
stack = strings.ReplaceAll(stack, "\n", " [") |
|
|
|
|
logger.Info().Msg(stack) |
|
|
|
|
|
|
|
|
|
logger.Panic().Msgf(format, args...) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func PanicError(err error) { |
|
|
|
@ -36,43 +41,3 @@ func PanicIfError(err error) { |
|
|
|
|
PanicError(err) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func logFinally(event *zerolog.Event, format string, args ...interface{}) { |
|
|
|
|
str := fmt.Sprintf(format, args...) |
|
|
|
|
//inxTrunct := -1
|
|
|
|
|
//keyStart := -1
|
|
|
|
|
//valueStart := -1
|
|
|
|
|
//key := ""
|
|
|
|
|
//value := ""
|
|
|
|
|
//for inx, b := range str {
|
|
|
|
|
// switch b {
|
|
|
|
|
// case ' ':
|
|
|
|
|
// keyStart = inx + 1
|
|
|
|
|
// case '=':
|
|
|
|
|
// if keyStart == -1 {
|
|
|
|
|
// continue
|
|
|
|
|
// }
|
|
|
|
|
// key = str[keyStart:inx]
|
|
|
|
|
// case '[':
|
|
|
|
|
// valueStart = inx + 1
|
|
|
|
|
// case ']':
|
|
|
|
|
// if valueStart == -1 {
|
|
|
|
|
// continue
|
|
|
|
|
// }
|
|
|
|
|
// value = str[valueStart:inx]
|
|
|
|
|
// if key == "" || value == "" {
|
|
|
|
|
// continue
|
|
|
|
|
// }
|
|
|
|
|
// event = event.Str(key, value)
|
|
|
|
|
// if inxTrunct == -1 {
|
|
|
|
|
// inxTrunct = keyStart - 1
|
|
|
|
|
// }
|
|
|
|
|
// keyStart = -1
|
|
|
|
|
// valueStart = -1
|
|
|
|
|
// }
|
|
|
|
|
//}
|
|
|
|
|
//if inxTrunct != -1 {
|
|
|
|
|
// str = str[:inxTrunct]
|
|
|
|
|
//}
|
|
|
|
|
event.Msg(str) |
|
|
|
|
} |
|
|
|
|