gofiber-study/main.go

53 lines
1.1 KiB
Go
Raw Normal View History

2022-10-03 03:46:09 +08:00
package main
import (
"github.com/fsnotify/fsnotify"
2022-10-03 03:46:09 +08:00
"github.com/gofiber/fiber/v2"
"github.com/spf13/viper"
"gofiber.study.skcks.cn/common/logger"
"os"
"os/signal"
2022-10-03 15:10:03 +08:00
_ "github.com/go-sql-driver/mysql"
2022-10-03 15:10:03 +08:00
_ "gofiber.study.skcks.cn/docs"
2022-10-03 03:46:09 +08:00
)
var app *fiber.App
2022-10-03 03:46:09 +08:00
2022-10-03 15:10:03 +08:00
// @title GoFiber Study API
// @version 1.0
// @description 基于 Fiber 框架的 swagger
// @termsOfService http://swagger.io/terms/
// @contact.name Shikong
// @contact.email 919411476@qq.com
// @license.name Apache 2.0
// @license.url http://www.apache.org/licenses/LICENSE-2.0.html
// @BasePath /
2022-10-03 03:46:09 +08:00
func main() {
viper.SetConfigName("config")
viper.SetConfigType("yaml")
viper.AddConfigPath(".")
viper.AddConfigPath("./config")
if err := viper.ReadInConfig(); err != nil {
if _, ok := err.(viper.ConfigFileNotFoundError); ok {
logger.Log.Fatalf("未找到配置文件")
} else {
logger.Log.Fatalf("配置解析失败 %s", err)
}
}
viper.WatchConfig()
viper.OnConfigChange(func(in fsnotify.Event) {
logger.Log.Infoln(in.Name)
loadApp()
})
loadApp()
quit := make(chan os.Signal)
signal.Notify(quit, os.Interrupt)
<-quit
logger.Log.Infof("关闭服务")
}