func main() { defer func() { if res := recover(); res != nil { content := fmt.Sprintf("Crashed with error: %v", res) for i := 1; ; i += 1 { _, file, line, ok := runtime.Caller(i) if !ok { break } else { content += "\n" } content += fmt.Sprintf("%v %v", file, line) } fmt.Println(content) } }() models.InitModels() mode, _ := models.Cfg.GetValue("app", "run_mode") var isPro bool = true if mode == "dev" { log.SetOutputLevel(log.Ldebug) isPro = false } log.Info("run in " + mode + " mode") f, err := os.Create("./website.log") if err != nil { fmt.Println(err) return } log.SetOutput(io.MultiWriter(f, os.Stdout)) xweb.SetLogger(log.Std) actions.InitApp() // Register routers. xweb.AddAction(&actions.HomeAction{}) xweb.AutoAction(&actions.DocsAction{}, &actions.LinkAction{}) xweb.AddTmplVars(&xweb.T{ "i18n": i18n.Tr, "IsPro": isPro, "AppVer": APP_VER, "XwebVer": xweb.Version, "GoVer": strings.Trim(runtime.Version(), "go"), }) port, _ := models.Cfg.GetValue("app", "http_port") usessl, _ := models.Cfg.GetValue("app", "ssl") if usessl == "true" { tlsCfg, _ := xweb.SimpleTLSConfig("cert.pem", "key.pem") xweb.RunTLS(fmt.Sprintf(":%v", port), tlsCfg) } else { xweb.Run(fmt.Sprintf(":%v", port)) } }
func main() { models.InitModels() mode, _ := models.Cfg.GetValue("app", "run_mode") var isPro bool = true if mode == "dev" { log.SetOutputLevel(log.Ldebug) isPro = false } log.Info("run in " + mode + " mode") f, err := os.Create("./website.log") if err != nil { fmt.Println(err) return } log.SetOutput(io.MultiWriter(f, os.Stdout)) xweb.SetLogger(log.Std) actions.InitApp() // Register routers. xweb.AddAction(&actions.HomeAction{}) xweb.AutoAction(&actions.DocsAction{}, &actions.LinkAction{}) xweb.AddTmplVars(&xweb.T{ "i18n": i18n.Tr, "IsPro": isPro, "AppVer": APP_VER, "XwebVer": xweb.Version, "GoVer": strings.Trim(runtime.Version(), "go"), }) port, _ := models.Cfg.GetValue("app", "http_port") usessl, _ := models.Cfg.GetValue("app", "ssl") if usessl == "true" { tlsCfg, _ := xweb.SimpleTLSConfig("cert.pem", "key.pem") xweb.RunTLS(fmt.Sprintf(":%v", port), tlsCfg) } else { xweb.Run(fmt.Sprintf(":%v", port)) } }
func main() { xweb.AutoAction(&MainAction{}) xweb.Run("0.0.0.0:9999") //visit http://localhost:9999/main/world }