diff --git a/go.mod b/go.mod index 40ebd9c..9f75004 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module apigo.cc/gojs/log go 1.24.0 require ( - apigo.cc/gojs v0.0.28 + apigo.cc/gojs v0.0.30 github.com/ssgo/log v1.7.9 github.com/ssgo/u v1.7.23 ) diff --git a/log.go b/log.go index cb0556c..31b2f75 100644 --- a/log.go +++ b/log.go @@ -21,22 +21,22 @@ func init() { obj := map[string]any{ "info": func(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value { args := gojs.MakeArgs(&argsIn, vm).Check(1) - args.Logger.Info(getExceptionString(argsIn, vm), args.Map2Array(1)...) + args.Logger.Info(getExceptionString(argsIn, vm), getObjects(args)...) return nil }, "warn": func(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value { args := gojs.MakeArgs(&argsIn, vm).Check(1) - args.Logger.Warning(getExceptionString(argsIn, vm), args.Map2Array(1)...) + args.Logger.Warning(getExceptionString(argsIn, vm), getObjects(args)...) return nil }, "error": func(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value { args := gojs.MakeArgs(&argsIn, vm).Check(1) - args.Logger.Error(getExceptionString(argsIn, vm), args.Map2Array(1)...) + args.Logger.Error(getExceptionString(argsIn, vm), getObjects(args)...) return nil }, "debug": func(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value { args := gojs.MakeArgs(&argsIn, vm).Check(1) - args.Logger.Debug(getExceptionString(argsIn, vm), args.Map2Array(1)...) + args.Logger.Debug(getExceptionString(argsIn, vm), getObjects(args)...) return nil }, "getExceptionString": func(argsIn goja.FunctionCall, vm *goja.Runtime) goja.Value { @@ -60,6 +60,18 @@ func init() { }) } +func getObjects(args *gojs.Arr) []any { + arrMap := args.Map(1) + arr := make([]any, len(arrMap)*2) + i := 0 + for k, v := range arrMap { + arr[i] = k + arr[i+1] = u.String(gojs.FixObject(v)) + i += 2 + } + return arr +} + func getExceptionString(args goja.FunctionCall, vm *goja.Runtime) string { if len(args.Arguments) == 0 { return ""