// Package main 是猪场控制系统的入口点 // 负责初始化核心应用并管理其生命周期 // @title 猪场管理系统API // @version 1.0 // @description 猪场管理系统API文档 // @host localhost:8086 // @BasePath / package main import ( "os" "os/signal" "syscall" "git.huangwc.com/pig/pig-farm-controller/internal/config" "git.huangwc.com/pig/pig-farm-controller/internal/core" "git.huangwc.com/pig/pig-farm-controller/internal/logs" ) func main() { // 初始化日志记录器 logger := logs.NewLogger() // 加载配置 cfg := config.NewConfig() if err := cfg.Load("config.yml"); err != nil { logger.Error("Failed to load config: " + err.Error()) os.Exit(1) } // 创建核心应用实例 app := core.NewApplication(cfg) // 启动核心应用 if err := app.Start(); err != nil { logger.Error("Failed to start application: " + err.Error()) os.Exit(1) } // 记录应用启动成功 logger.Info("Application started successfully") // 等待中断信号以优雅地关闭应用 sigChan := make(chan os.Signal, 1) signal.Notify(sigChan, syscall.SIGINT, syscall.SIGTERM) <-sigChan // 停止核心应用 if err := app.Stop(); err != nil { logger.Error("Failed to stop application: " + err.Error()) os.Exit(1) } // 记录应用停止成功 logger.Info("Application stopped successfully") }