package main import ( "log" _ "git.huangwc.com/pig/pig-farm-controller/docs" // 引入 swag 生成的 docs "git.huangwc.com/pig/pig-farm-controller/internal/core" ) // @title 猪场管理系统 API // @version 1.0 // @description 这是一个用于管理猪场设备的后端服务。 // @contact.name Divano // @contact.url http://www.example.com // @contact.email divano@example.com // @license.name Apache 2.0 // @license.url http://www.apache.org/licenses/LICENSE-2.0.html // @host localhost:8086 // @BasePath /api/v1 func main() { // 1. 创建应用实例 // 所有复杂的初始化逻辑都已封装在 NewApplication 中 app, err := core.NewApplication("config.yml") if err != nil { // 在应用启动的最早期阶段,如果核心组件创建失败, // 我们的自定义 logger 可能还未初始化,因此这里使用标准库的 log.Fatalf log.Fatalf("应用初始化失败: %v", err) } // 2. 启动应用 // Start 方法会阻塞,直到应用被关闭 if err := app.Start(); err != nil { // 如果 Start 过程(主要是优雅关闭阶段)出现错误, // 此时我们的 logger 已经是可用的,可以用它来记录错误。 app.Logger.Errorf("应用启动或关闭时发生错误: %v", err) } }