diff --git a/main.go b/main.go index 7905807..6b7519a 100644 --- a/main.go +++ b/main.go @@ -1,5 +1,26 @@ package main -func main() { +import ( + "log" + "git.huangwc.com/pig/pig-farm-controller/internal/core" +) + +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) + } }