# gologger GoLogger 是一个简单但功能强大的 Go 语言日志库,提供灵活的日志记录功能。它支持多种日志输出方式(控制台、文件等),并允许自定义日志格式。 ## 特性 - 支持多种日志级别:ERROR, WARN, INFO, DEBUG, TRACE - 支持多种输出方式:控制台、文件(支持滚动策略) - 可定制日志格式 - 支持按类别记录日志 ## 安装 ```bash go get github.com/yourusername/gologger ``` ## 快速开始 ```go package main import ( "github.com/yourusername/gologger" ) func main() { // 获取默认logger logger := gologger.GetLogger("main") // 设置全局日志级别 gologger.Configure(gologger.LoggersConfig{ Level: "info", Appenders: []gologger.LogAppenderConfig{ { Type: "console", }, { Type: "file", Options: map[string]interface{}{ "filePath": "app.log", "EnableRolling": true, "MaxSize": 1024 * 1024 * 10, // 10MB }, }, }, }) // 记录日志 logger.Info("Application started") logger.Error("An error occurred") } ``` ## 配置说明 ### 日志级别 支持的级别包括:off, error, warn, info, debug, trace ### 输出方式(Appenders) 1. **ConsoleAppender** - 控制台输出 配置示例: ```go { Type: "console", } ``` 2. **FileAppender** - 文件输出,支持滚动策略 配置参数: - filePath: 日志文件路径 - EnableRolling: 是否启用滚动(默认true) - MaxSize: 单个文件最大大小(字节,默认10MB) - MaxAge: 文件最大保存时间(秒,默认86400秒=24小时) ### 格式化器 可以通过SelectFormatter选择不同的日志格式: - simple: 简单格式 `[timestamp] level : category - message` - json: JSON 格式输出