|
||
---|---|---|
.vscode | ||
log | ||
test | ||
.gitignore | ||
LICENSE | ||
README.md | ||
console.go | ||
file.go | ||
format.go | ||
format_test.go | ||
go.mod | ||
main.go | ||
main_test.go |
README.md
gologger
GoLogger 是一个简单但功能强大的 Go 语言日志库,提供灵活的日志记录功能。它支持多种日志输出方式(控制台、文件等),并允许自定义日志格式。
特性
- 支持多种日志级别:ERROR, WARN, INFO, DEBUG, TRACE
- 支持多种输出方式:控制台、文件(支持滚动策略)
- 可定制日志格式
- 支持按类别记录日志
安装
go get github.com/yourusername/gologger
快速开始
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)
-
ConsoleAppender - 控制台输出 配置示例:
{ Type: "console", }
-
FileAppender - 文件输出,支持滚动策略 配置参数:
- filePath: 日志文件路径
- EnableRolling: 是否启用滚动(默认true)
- MaxSize: 单个文件最大大小(字节,默认10MB)
- MaxAge: 文件最大保存时间(秒,默认86400秒=24小时)
格式化器
可以通过SelectFormatter选择不同的日志格式:
- simple: 简单格式
[timestamp] level : category - message
- json: JSON 格式输出