package main import ( "fmt" "os" ) func main() { fmt.Println("=== 1. 控制台日志 ===") consoleLogger := NewLogger() consoleLogger.Info("程序启动,PID: %d", os.Getpid()) consoleLogger.Warn("磁盘使用率超过 80%") consoleLogger.Error("数据库连接失败: timeout") fmt.Println("\n=== 2. 设置最低级别为 WARN ===") consoleLogger.SetMinLevel(LevelWarn) consoleLogger.Info("这条不会显示") // 被过滤 consoleLogger.Warn("这条会显示") // 显示 consoleLogger.Error("错误也会显示") // 显示 fmt.Println("\n=== 3. 文件日志(写入 app.log)===") fileLogger, err := NewFileLogger("app.log") if err != nil { consoleLogger.Error("无法创建文件日志: %v", err) return } fileLogger.Info("应用开始处理请求") fileLogger.Warn("用户 %s 尝试越权操作", "liumangmang") fileLogger.Error("写入数据库时发生唯一键冲突") fmt.Println("日志已写入 app.log,请查看内容:") os.ReadFile("app.log") // 不打印,仅确保写入 fmt.Println("✅ 查看 app.log 可验证文件日志内容") }