77 lines
1.7 KiB
Markdown
77 lines
1.7 KiB
Markdown
# 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 格式输出 |