架构解耦:移除内置 DB 日志支持,回归私有填充逻辑,导出 GetCallStacks (by AI)
This commit is contained in:
parent
05a028bbb3
commit
f9a10486e3
@ -1,6 +1,11 @@
|
||||
# Changelog
|
||||
|
||||
## [1.1.1] - 2026-05-05
|
||||
## [1.1.2] - 2026-05-05
|
||||
- **架构解耦**:
|
||||
- 正式移除 `log` 包对数据库日志(`DB` 方法及 `DBLog` 结构)的内置支持,推动“日志格式随业务走”的架构对齐。
|
||||
- 导出 `GetCallStacks` 方法,支持外部包捕获符合截断配置的调用栈。
|
||||
- **内部优化**:
|
||||
- `fillBase` 回归私有,强化 `Log(entry)` 的自动填充契约,降低外部摩擦。
|
||||
- **体验对齐**:
|
||||
- 修复 `viewer.go` 中空错误字符串导致日志类型被跳过显示的 Bug。
|
||||
- `Log` 方法集成 `fillBase` 自动补全逻辑,对于直接调用 `Log(entry)` 的自定义日志类型,若未设置时间戳则自动填充元数据,无需手动干预。
|
||||
|
||||
40
extra.go
40
extra.go
@ -155,43 +155,3 @@ package log
|
||||
// logger.Log(entry)
|
||||
// }
|
||||
// }
|
||||
|
||||
// type DBLog struct {
|
||||
// BaseLog
|
||||
// DbType string
|
||||
// Dsn string
|
||||
// Query string
|
||||
// QueryArgs string
|
||||
// UsedTime float32
|
||||
// Error string
|
||||
// CallStacks []string
|
||||
// }
|
||||
|
||||
// func (logger *Logger) DB(dbType, dsn, query string, args []any, usedTime float32, err error, extra ...any) {
|
||||
// logType := LogTypeDb
|
||||
// level := INFO
|
||||
// var e string
|
||||
// if err != nil {
|
||||
// logType = LogTypeDbError
|
||||
// level = ERROR
|
||||
// e = err.Error()
|
||||
// }
|
||||
|
||||
// if logger.CheckLevel(level) {
|
||||
// entry := GetEntry[DBLog]()
|
||||
// logger.fillBase(entry, logType)
|
||||
// entry.DbType = dbType
|
||||
// entry.Dsn = dsn
|
||||
// entry.Query = query
|
||||
// entry.QueryArgs = cast.To[string](args)
|
||||
// entry.UsedTime = usedTime
|
||||
// if e != "" {
|
||||
// entry.Error = e
|
||||
// entry.CallStacks = getCallStacks(logger.truncations)
|
||||
// }
|
||||
// if len(extra) > 0 {
|
||||
// cast.FillMap(&entry.Extra, extra)
|
||||
// }
|
||||
// logger.Log(entry)
|
||||
// }
|
||||
// }
|
||||
|
||||
6
go.mod
6
go.mod
@ -11,13 +11,11 @@ require (
|
||||
require (
|
||||
apigo.cc/go/convert v1.0.4 // indirect
|
||||
apigo.cc/go/encoding v1.0.4 // indirect
|
||||
apigo.cc/go/file v1.0.4 // indirect
|
||||
apigo.cc/go/file v1.0.5 // indirect
|
||||
apigo.cc/go/rand v1.0.4 // indirect
|
||||
apigo.cc/go/safe v1.0.4 // indirect
|
||||
github.com/kr/pretty v0.3.0 // indirect
|
||||
github.com/rogpeppe/go-internal v1.14.1 // indirect
|
||||
github.com/kr/text v0.2.0 // indirect
|
||||
golang.org/x/crypto v0.50.0 // indirect
|
||||
golang.org/x/sys v0.43.0 // indirect
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
)
|
||||
|
||||
11
go.sum
11
go.sum
@ -1,7 +1,7 @@
|
||||
apigo.cc/go/cast v1.2.6 h1:xnWiaQAGsRCrnu1p8fIFQfg5HFSc7CxR+3ItiDIDMaY=
|
||||
apigo.cc/go/cast v1.2.6/go.mod h1:lGlwImiOvHxG7buyMWhFzcdvQzmSaoKbmr7bcDfUpHk=
|
||||
apigo.cc/go/config v1.0.4 h1:WG9zrQkqfFPkrKIL7RNvvAbbkuUBt1Av11ZP/aIfldM=
|
||||
apigo.cc/go/config v1.0.4/go.mod h1:obryzJiK6j7lQex/58d5eWYOGx5O5IABguqNWxyyXJo=
|
||||
apigo.cc/go/config v1.0.5 h1:dQ5sTKphHvxfHkr4FscNmm19ESGx7oVPxps9REoZcQ0=
|
||||
apigo.cc/go/config v1.0.5/go.mod h1:gweaCzn1e4jpFR3IUe49QqQIYhixK7d9LZtNPDM8mwc=
|
||||
apigo.cc/go/convert v1.0.4 h1:5+qPjC3dlPB59GnWZRlmthxcaXQtKvN+iOuiLdJ1GvQ=
|
||||
apigo.cc/go/convert v1.0.4/go.mod h1:Hp+geeSyhqg/zwIKPOrDoceIREzcwM14t1I5q/dtbfU=
|
||||
apigo.cc/go/encoding v1.0.4 h1:aezB0J/qFuHs6iXkbtuJP5JIHUtmjsr5SFb0NNvbObY=
|
||||
@ -15,15 +15,10 @@ apigo.cc/go/safe v1.0.4/go.mod h1:o568sHS5rTRSVPmhxWod0tGdc+8l1KjidsNY1/OVZr0=
|
||||
apigo.cc/go/shell v1.0.4 h1:EL9zjI39YBe1h+kRYQeAi/8zVGHe5W198DYYN7cENiY=
|
||||
apigo.cc/go/shell v1.0.4/go.mod h1:N2gDkgK4tJ9TadD60/+gAGuWxyVAWHs5YPBmytw6ELA=
|
||||
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
||||
github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
|
||||
github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
|
||||
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
|
||||
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
|
||||
golang.org/x/crypto v0.50.0 h1:zO47/JPrL6vsNkINmLoo/PH1gcxpls50DNogFvB5ZGI=
|
||||
@ -31,9 +26,7 @@ golang.org/x/crypto v0.50.0/go.mod h1:3muZ7vA7PBCE6xgPX7nkzzjiUq87kRItoJQM1Yo8S+
|
||||
golang.org/x/sys v0.43.0 h1:Rlag2XtaFTxp19wS8MXlJwTvoh8ArU6ezoyFsMyCTNI=
|
||||
golang.org/x/sys v0.43.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
|
||||
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
|
||||
@ -217,6 +217,10 @@ func (logger *Logger) fillBase(entry LogEntry, logType string) {
|
||||
base.ServerIp = serverIp
|
||||
}
|
||||
|
||||
func (logger *Logger) GetCallStacks() []string {
|
||||
return getCallStacks(logger.truncations)
|
||||
}
|
||||
|
||||
func (logger *Logger) Debug(message string, extra ...any) {
|
||||
if logger.CheckLevel(DEBUG) {
|
||||
entry := GetEntry[DebugLog]()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user