package main import ( "log" "git.toowon.com/jimmy/go-common/config" "git.toowon.com/jimmy/go-common/factory" ) func main() { // 加载配置 cfg, err := config.LoadFromFile("./config/example.json") if err != nil { log.Fatal("Failed to load config:", err) } // 使用工厂创建日志记录器(推荐方式) fac := factory.NewFactory(cfg) logger, err := fac.GetLogger() if err != nil { log.Fatal("Failed to create logger:", err) } // 示例1:基本日志记录 logger.Info("Application started") logger.Debug("Debug message: %s", "This is a debug message") logger.Warn("Warning message: %s", "This is a warning") logger.Error("Error message: %s", "This is an error") // 示例2:带字段的日志记录 logger.Infof(map[string]interface{}{ "user_id": 123, "action": "login", "ip": "192.168.1.1", }, "User logged in successfully") logger.Errorf(map[string]interface{}{ "error_code": 1001, "module": "database", }, "Failed to connect to database: %v", "connection timeout") // 示例3:不同级别的日志 logger.Debug("This is a debug log") logger.Info("This is an info log") logger.Warn("This is a warn log") logger.Error("This is an error log") // 注意:Fatal和Panic会终止程序,示例中不执行 // logger.Fatal("This would exit the program") // logger.Panic("This would panic") }