feat(logging): 增加 Seq 日志集成与标准输出重定向

- 新增 SeqWriter 支持,将日志异步推送到 Seq 平台,支持多进程实例区分
- 实现 redirectStdout 函数,重定向 os.Stdout 和标准 log 包输出,确保 fmt.Println 等输出被捕获并记录
- 更新 README 文档,增加 Seq 日志集成的说明与配置链接
- 扩展 Logger 结构,支持动态添加输出目标,提升日志记录灵活性
This commit is contained in:
2026-05-18 13:12:51 +08:00
parent ef10437a5a
commit 94a251ec44
5 changed files with 388 additions and 5 deletions
+2
View File
@@ -61,6 +61,8 @@ var ConfigNote = Map{
"logHistory": "默认100,非必须,内存中保留最近N条错误日志,用于调试调阅,通过 Log.GetRecentErrors() 获取",
"webConnectLogShow": "默认true,非必须,访问日志如果需要web访问链接、访问ip、访问时间打印,false为关闭true开启此功能",
"webConnectLogFile": "无默认,非必须,webConnectLogShow开启之后才能使用,如果需要存储日志文件时使用,保存格式为:a/b/c/20060102150405.txt,将生成:a/b/c/年月日时分秒.txt,按需设置",
"seqUrl": "无默认,非必须,Seq 日志平台地址,如 http://127.0.0.1:5341,填写后自动将所有日志通过异步 channel 队列推送到 Seq,空值则不激活;同时自动将 fmt.Println/标准log 包的输出也一并捕获推送;instance 字段自动拼接为 ip:port(如 192.168.1.10:8085),支持单机多进程和多服务器集群",
"seqApiKey": "无默认,非必须,Seq API Key,单机免费版留空即可,多用户或有认证要求时填写",
//"codeConfig": Map{
// "注释": "配置即启用,非必须,默认无",
// //"package":"默认admin,必须,mode模式为2时会自动生成包文件夹和代码文件",