feat: 为数据库日志添加 Meta 驱动标签并注册 (by AI)

This commit is contained in:
AI Engineer 2026-05-05 21:45:58 +08:00
parent ae5011fba5
commit 357329dc22
4 changed files with 20 additions and 18 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.log.meta.json

15
Log.go
View File

@ -6,11 +6,11 @@ import (
)
type DBLog struct {
DbType string
Dsn string
Query string
QueryArgs string
UsedTime float32
DbType string `log:"pos:10,color:blue"`
Dsn string `log:"pos:11,color:gray,withoutkey:true"`
Query string `log:"pos:12,color:cyan"`
QueryArgs string `log:"pos:13,color:gray"`
UsedTime float32 `log:"pos:14,format:%.2fms"`
}
type DBInfoLog struct {
@ -23,6 +23,11 @@ type DBErrorLog struct {
DBLog
}
func init() {
log.RegisterType(log.LogTypeDb, DBInfoLog{})
log.RegisterType(log.LogTypeDbError, DBErrorLog{})
}
func (dl *dbLogger) LogDB(query string, args []any, usedTime float32, err error, extra ...any) {
LogDB(dl.logger, dl.config, query, args, usedTime, err, extra...)
}

4
go.mod
View File

@ -7,7 +7,7 @@ require (
apigo.cc/go/config v1.0.5
apigo.cc/go/crypto v1.0.4
apigo.cc/go/id v1.0.4
apigo.cc/go/log v1.1.1
apigo.cc/go/log v1.1.3
apigo.cc/go/rand v1.0.4
apigo.cc/go/redis v1.0.3
apigo.cc/go/safe v1.0.4
@ -19,7 +19,6 @@ require (
)
require (
apigo.cc/go/convert v1.0.4 // indirect
apigo.cc/go/encoding v1.0.4 // indirect
apigo.cc/go/file v1.0.5 // indirect
filippo.io/edwards25519 v1.2.0 // indirect
@ -33,7 +32,6 @@ require (
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/ncruces/go-strftime v1.0.0 // indirect
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
github.com/rogpeppe/go-internal v1.14.1 // indirect
golang.org/x/crypto v0.50.0 // indirect
golang.org/x/sync v0.20.0 // indirect
golang.org/x/sys v0.43.0 // indirect

18
go.sum
View File

@ -1,23 +1,21 @@
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/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/config v1.0.5 h1:dQ5sTKphHvxfHkr4FscNmm19ESGx7oVPxps9REoZcQ0=
apigo.cc/go/config v1.0.5/go.mod h1:gweaCzn1e4jpFR3IUe49QqQIYhixK7d9LZtNPDM8mwc=
apigo.cc/go/crypto v1.0.4 h1:VPUyHCH2N3LLEgdpwUc+DQssNHzLlxVzLNRa0Jm6O4o=
apigo.cc/go/crypto v1.0.4/go.mod h1:5sI8BLw6YHZfDReYwCO3TFD2LKm36HMdLg1S5oPv/QU=
apigo.cc/go/encoding v1.0.4 h1:aezB0J/qFuHs6iXkbtuJP5JIHUtmjsr5SFb0NNvbObY=
apigo.cc/go/encoding v1.0.4/go.mod h1:V5CgT7rBbCxy+uCU20q0ptcNNRSgMtpA8cNOs6r8IeI=
apigo.cc/go/file v1.0.4 h1:qCKegV7OYh7r0qc3jZjGA/aKh0vIHgmr1OEbhfEmGX8=
apigo.cc/go/file v1.0.4/go.mod h1:C9gNo7386iA21OiBmuWh6CznKWlVBDFkhE4f0H0Susg=
apigo.cc/go/file v1.0.5 h1:CZpX9+wzXwIVkKHRkzbuuDNY/RKsKURTQzDAm6pQuAs=
apigo.cc/go/file v1.0.5/go.mod h1:5mbbrH0e9l6NgRFwAgFmnDhoKn0r8rVdg4JxHKOQFlU=
apigo.cc/go/id v1.0.4 h1:w+JSdeVit52iefIUolrh1qLEZS9XqHNKr1UygFcgv+s=
apigo.cc/go/id v1.0.4/go.mod h1:kg7QuceAKtGNzGWt0+pIIh8Qom1eMSWGb8+0Yhi/QVY=
apigo.cc/go/log v1.0.2 h1:OY6T3SC28blDNkMpdRvDK2N4sGdriAB9DBItGl/qOos=
apigo.cc/go/log v1.0.2/go.mod h1:tvPgFpebY9Wf/DlqMHZ0ZjxDp9AaQTywOQKvtBaNqNo=
apigo.cc/go/log v1.1.1 h1:wpP1qpI3MA1CMmevsq7qFzGgotQdvPiPGB4p4OZU4bY=
apigo.cc/go/log v1.1.1/go.mod h1:5EqIca85Udbhjss0iqoFcVqUskx8hg8rGelggurKaQk=
apigo.cc/go/rand v1.0.4 h1:we070eWSL0dB8NEMaWjXj43+EekXQTm/h0kKpZ/frqw=
apigo.cc/go/rand v1.0.4/go.mod h1:mZ/4Soa3bk+XvDaqPWJuUe1bfEi4eThBj1XmEAuYxsk=
apigo.cc/go/redis v1.0.2 h1:gWBrL/6eDxtouTFSZrPKQNdEg1AZr2aKTpCOhwim3dI=
apigo.cc/go/redis v1.0.2/go.mod h1:auQ3cyORgD67HF5dNvZ1lA8bqMH1xIbnuKBuZWclNy4=
apigo.cc/go/redis v1.0.3 h1:RdAhigajnK28AO5HUIQJmfKGdygC1cKemybgIli2/z0=
apigo.cc/go/redis v1.0.3/go.mod h1:TZgjbCnfmSvm3y2lbBREad1No0UuvbaBnTEv5bCHkTI=
apigo.cc/go/safe v1.0.4 h1:07pRSdEHprF/2v6SsqAjICYFoeLcqjjvHGEdh6Dzrzg=
apigo.cc/go/safe v1.0.4/go.mod h1:o568sHS5rTRSVPmhxWod0tGdc+8l1KjidsNY1/OVZr0=
apigo.cc/go/shell v1.0.4 h1:EL9zjI39YBe1h+kRYQeAi/8zVGHe5W198DYYN7cENiY=