From 3803ac228d485fe5c3df2075b1844d8bdc612789 Mon Sep 17 00:00:00 2001 From: Chen Chi Date: Sun, 1 Sep 2024 00:06:18 +0800 Subject: [PATCH] chore: add README.md --- README.md | 38 +++++++++++++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 11c489d..36ac8a8 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# LogX +# logx -logx 是一个基于 `log/slog` 的日志库,提供了控制台输出、文件输出、日志级别控制等功能。 +logx 是一个灵活、高效的 Go 日志库,基于 Go 1.21 引入的 `log/slog` 包构建。它提供了结构化日志记录、多处理程序支持、上下文感知和全局日志记录器等功能。 ## 安装 @@ -8,6 +8,38 @@ logx 是一个基于 `log/slog` 的日志库,提供了控制台输出、文件 go get -u github.com/yeqown/logx ``` -## 使用 +## 快速开始 ```go +package main + +import ( + "context" + "log/slog" + + "gitea.cccvno1.com/chenchi/logx" +) + +func main() { + logger := logx.New( + logx.WithConsoleHandler(slog.LevelDebug), + logx.WithFileHandler("app.log", 10, 5, 30, true, slog.LevelInfo), + ) + + logx.SetGlobalLogger(logger) + + logx.Info("Application started") + + ctx := context.WithValue(context.Background(), "trace_id", "abc123") + contextLogger := logx.WithContext(ctx) + contextLogger.Debug("This is a debug message with context") + + // 使用结构化日志 + logx.Info("User logged in", + slog.String("username", "john_doe"), + slog.Int("user_id", 12345), + ) + + logger.Close() +} +``` \ No newline at end of file