github.com/dfklegend/cell2/utils@v0.0.0-20240402033734-a0a9f3d9335d/golua/module/golog/golog.go (about) 1 package golog 2 3 import ( 4 "fmt" 5 "log" 6 7 "github.com/yuin/gopher-lua" 8 ) 9 10 func Loader(L *lua.LState) int { 11 // register functions to the table 12 mod := L.SetFuncs(L.NewTable(), exports) 13 // register other stuff 14 //L.SetField(mod, "name", lua.LString("value")) 15 // returns the module 16 L.Push(mod) 17 return 1 18 } 19 20 func Preload(L *lua.LState) { 21 L.PreloadModule("go_log", Loader) 22 } 23 24 var exports = map[string]lua.LGFunction{ 25 "debug": debug, 26 "info": info, 27 "warn": warn, 28 "error": error, 29 } 30 31 func debug(L *lua.LState) int { 32 log.Println(fmt.Sprintf("[lua][debug]%s", L.CheckString(-1))) 33 return 0 34 } 35 36 func info(L *lua.LState) int { 37 log.Println(fmt.Sprintf("[lua][info]%s", L.CheckString(-1))) 38 return 0 39 } 40 41 func warn(L *lua.LState) int { 42 log.Println(fmt.Sprintf("[lua][warn]%s", L.CheckString(-1))) 43 return 0 44 } 45 46 func error(L *lua.LState) int { 47 log.Println(fmt.Sprintf("[lua][error]%s", L.CheckString(-1))) 48 return 0 49 }