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 dialect Dialect
driverName string driverName string
dataSourceName string dataSourceName string
Logger ILogger logger ILogger
*Uri *Uri
} }
@ -93,7 +93,7 @@ func (b *Base) DB() *DB {
} }
func (b *Base) SetLogger(logger ILogger) { 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 { 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) { func (db *Base) HasRecords(query string, args ...interface{}) (bool, error) {
db.LogSQL(query, args)
rows, err := db.DB().Query(query, args...) rows, err := db.DB().Query(query, args...)
if db.Logger != nil {
db.Logger.Info("[sql]", query, args)
}
if err != nil { if err != nil {
return false, err return false, err
} }
@ -277,6 +275,16 @@ func (b *Base) ForUpdateSql(query string) string {
return query + " FOR UPDATE" 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 ( var (
dialects = map[DbType]func() Dialect{} dialects = map[DbType]func() Dialect{}
) )

View File

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