feat(logger): add maxCount configuration option for file appender Add support for maxCount parameter in file appender configuration. The maxCount option allows users to specify the maximum number of backup files to keep when log rotation is enabled. The new configuration option defaults to 1 if not specified in the appender options and is passed to the FileAppender struct during initialization. ``` Co-authored-by: Copilot <copilot@github.com> |
||
|---|---|---|
| .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 格式输出