beego log 设置

it2023-08-20  63

func init() { runMode = "prod" logDirName := "logs" logFileName := "myapp.log" parentDirPath, _ := os.Getwd() // 这边的逻辑是向上层找日志目录,为了解决 go test 时,执行文件在子目录,无日志目录 for { logDirPath := path.Join(parentDirPath, logDirName) beego.Debug(logDirPath) if util.IsPathExist(logDirPath) { break } parentDirPath = path.Dir(parentDirPath) } logPath := path.Join(parentDirPath, logDirName, logFileName) beego.Notice("logPath:", logPath) if runMode == "prod" { beego.SetLogger(logs.AdapterMultiFile, `{"filename": "`+logPath+`", "maxdays": 2, "maxlines": 1000000}`) beego.BeeLogger.DelLogger("console") beego.SetLevel(beego.LevelInformational) } else { // 经观察,单独的 error 日志不会回滚,需注意 beego.SetLogger(logs.AdapterMultiFile, `{"filename": "`+logPath+`", "separate": ["error"], "maxdays": 2, "maxlines": 1000000}`) beego.SetLevel(beego.LevelDebug) } logs.Async() beego.Notice(fmt.Sprintf("run mode [%s]", runMode)) }
最新回复(0)