Compare commits

...

1 Commits
v1.0.3 ... main

Author SHA1 Message Date
AI Engineer
174345dba8 feat: upgrade to log v1.0.1 and use enhanced DB log API (by AI) 2026-05-04 01:16:19 +08:00
3 changed files with 9 additions and 5 deletions

View File

@ -1,5 +1,9 @@
# 变更记录 - @go/db
## [1.0.4] - 2026-05-04
### 优化
- **日志增强**:升级 `apigo.cc/go/log` 至 v1.0.1,并重构数据库日志逻辑,利用新版 `log.DB` API 直接支持错误字段和调用栈捕获,提升排障效率。
## [1.0.3] - 2026-05-04
### 新增
- **自动随机 ID (Auto Random ID)**:当表主键或唯一索引字段类型为 `char(8/10/12/14)` 且值为空时,自动填充分布式唯一 ID。

8
DB.go
View File

@ -237,7 +237,7 @@ type dbLogger struct {
}
func (dl *dbLogger) LogError(errStr string) {
dl.logger.DBError(errStr, dl.config.Type, dl.config.Dsn(), "", nil, 0)
dl.logger.DB(dl.config.Type, dl.config.Dsn(), "", nil, 0, errStr)
}
func (dl *dbLogger) LogQuery(query string, args []any, usedTime float32) {
@ -245,7 +245,7 @@ func (dl *dbLogger) LogQuery(query string, args []any, usedTime float32) {
}
func (dl *dbLogger) LogQueryError(errStr string, query string, args []any, usedTime float32) {
dl.logger.DBError(errStr, dl.config.Type, dl.config.Dsn(), query, args, usedTime)
dl.logger.DB(dl.config.Type, dl.config.Dsn(), query, args, usedTime, errStr)
}
var dbConfigs = make(map[string]*Config)
@ -467,7 +467,7 @@ func getDB(name string, logger *log.Logger, useCache bool) *DB {
conn, err := getPool(conf)
if err != nil {
logger.DBError(err.Error(), conf.Type, conf.Dsn(), "", nil, 0)
logger.DB(conf.Type, conf.Dsn(), "", nil, 0, err.Error())
return &DB{conn: nil, QuoteTag: "\"", Error: err}
}
@ -483,7 +483,7 @@ func getDB(name string, logger *log.Logger, useCache bool) *DB {
for _, host := range conf.ReadonlyHosts {
conn, err := getPoolForHost(conf, host)
if err != nil {
logger.DBError(err.Error(), conf.Type, conf.Dsn(), "", nil, 0)
logger.DB(conf.Type, conf.Dsn(), "", nil, 0, err.Error())
} else {
readonlyConnections = append(readonlyConnections, conn)
}

2
go.mod
View File

@ -8,7 +8,7 @@ require (
apigo.cc/go/convert v1.0.4
apigo.cc/go/crypto v1.0.4
apigo.cc/go/id v1.0.4
apigo.cc/go/log v1.0.0
apigo.cc/go/log v1.0.1
apigo.cc/go/rand v1.0.4
apigo.cc/go/safe v1.0.4
apigo.cc/go/shell v1.0.4