func (dl *DefaultSQLLogger) ConnExec(connID int64, query string, args []driver.Value) {
	if !dl.Enabled {
		return
	}
	dl.log.Printf("CONN(%d) ► Exec(%s)", connID, query)
}
ConnExec satisfies Logger interface
package sqllogger
import (
	"database/sql/driver"
)
type StdLogger interface {
	Printf(format string, args ...interface{})
}
func NewDefaultSQLLogger(log StdLogger) *DefaultSQLLogger {
	return &DefaultSQLLogger{
		log:        log,
		Enabled:    true,
		LogConnect: true,
		LogClose:   false,
	}
}
type DefaultSQLLogger struct {
	log StdLogger
	Enabled bool
	LogConnect bool
	LogClose   bool
}
var _ SQLLogger = &DefaultSQLLogger{}
func (dl *DefaultSQLLogger) TxRollback(txID int64) {
	if !dl.Enabled {
		return
	}
	dl.log.Printf("  TX(%d) ► Rollback", txID)
}
func (dl *DefaultSQLLogger) TxCommit(txID int64) {
	if !dl.Enabled {
		return
	}
	dl.log.Printf("  TX(%d) ► Commit", txID)
}
func (dl *DefaultSQLLogger) RowsClose(rowsID int64) {
	if !dl.Enabled {
		return
	}
	if dl.LogClose {
		dl.log.Printf("ROWS(%d) ► Close", rowsID)
	}
}
func (dl *DefaultSQLLogger) Connect(connID int64) {
	if !dl.Enabled {
		return
	}
	if !dl.LogConnect {
		return
	}
	dl.log.Printf("Connect → CONN(%d)", connID)
}
func (dl *DefaultSQLLogger) ConnBegin(connID, txID int64, opts driver.TxOptions) {
	if !dl.Enabled {
		return
	}
	dl.log.Printf("CONN(%d) ► Begin -> TX(%d)", connID, txID)
}
func (dl *DefaultSQLLogger) ConnPrepare(connID, stmtID int64, query string) {
	if !dl.Enabled {
		return
	}
	dl.log.Printf("CONN(%d) ► Prepare(%s) → STMT(%d)", connID, query, stmtID)
}
func (dl *DefaultSQLLogger) ConnPrepareContext(connID int64, stmtID int64, query string) {
	if !dl.Enabled {
		return
	}
	dl.log.Printf("CONN(%d) ► Prepare(%s) → STMT(%d)", connID, query, stmtID)
}
func (dl *DefaultSQLLogger) ConnQuery(connID, rowsID int64, query string, args []driver.Value) {
	if !dl.Enabled {
		return
	}
	dl.log.Printf("CONN(%d) ► Query(%s) → ROWS(%d)", connID, query, rowsID)
}
func (dl *DefaultSQLLogger) ConnQueryContext(connID int64, rowsID int64, query string, args []driver.NamedValue) {
	if !dl.Enabled {
		return
	}
	dl.log.Printf("CONN(%d) ► Query(%s) → ROWS(%d)", connID, query, rowsID)
}