From 357329dc22ffa30fc1b3e5acd6d1814d0b37c89c Mon Sep 17 00:00:00 2001 From: AI Engineer Date: Tue, 5 May 2026 21:45:58 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=B8=BA=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E6=B7=BB=E5=8A=A0=20Meta=20=E9=A9=B1?= =?UTF-8?q?=E5=8A=A8=E6=A0=87=E7=AD=BE=E5=B9=B6=E6=B3=A8=E5=86=8C=20(by=20?= =?UTF-8?q?AI)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + Log.go | 15 ++++++++++----- go.mod | 4 +--- go.sum | 18 ++++++++---------- 4 files changed, 20 insertions(+), 18 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4d0e759 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.log.meta.json diff --git a/Log.go b/Log.go index 0015289..564c454 100644 --- a/Log.go +++ b/Log.go @@ -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...) } diff --git a/go.mod b/go.mod index 3ebc8ab..f3a4318 100644 --- a/go.mod +++ b/go.mod @@ -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 diff --git a/go.sum b/go.sum index 81e65a8..dcc6d68 100644 --- a/go.sum +++ b/go.sum @@ -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=