improved logging

This commit is contained in:
Lunny Xiao 2016-02-16 17:14:10 +08:00
parent 9e608f7330
commit 0c32ca567a
2 changed files with 16 additions and 5 deletions

View File

@ -84,7 +84,7 @@ type Base struct {
dialect Dialect
driverName string
dataSourceName string
Logger ILogger
logger ILogger
*Uri
}
@ -93,7 +93,7 @@ func (b *Base) DB() *DB {
}
func (b *Base) SetLogger(logger ILogger) {
b.Logger = logger
b.logger = logger
}
func (b *Base) Init(db *DB, dialect Dialect, uri *Uri, drivername, dataSourceName string) error {
@ -151,10 +151,8 @@ func (db *Base) DropTableSql(tableName string) string {
}
func (db *Base) HasRecords(query string, args ...interface{}) (bool, error) {
db.LogSQL(query, args)
rows, err := db.DB().Query(query, args...)
if db.Logger != nil {
db.Logger.Info("[sql]", query, args)
}
if err != nil {
return false, err
}
@ -277,6 +275,16 @@ func (b *Base) ForUpdateSql(query string) string {
return query + " FOR UPDATE"
}
func (b *Base) LogSQL(sql string, args []interface{}) {
if b.logger != nil && b.logger.IsShowSQL() {
if len(args) > 0 {
b.logger.Info("[sql]", sql, args)
} else {
b.logger.Info("[sql]", sql)
}
}
}
var (
dialects = map[DbType]func() Dialect{}
)

View File

@ -25,4 +25,7 @@ type ILogger interface {
Level() LogLevel
SetLevel(l LogLevel) (err error)
ShowSQL(show ...bool)
IsShowSQL() bool
}