Open
Description
I need to log the raw SQL statements.
We can specify a custom logger when opening a database:
cfg, _ := mysql.ParseDSN(dsName)
// set a custom logger
tracer := log.New(os.Stdout, "[mysql] ", log.Ldate|log.Ltime|log.Lshortfile)
cfg.Logger = tracer
connector, err := mysql.NewConnector(cfg)
if err != nil {
return err
}
db := sql.OpenDB(connector)
But the logger won't log SQL statements from Exec()
and Query()
, but only some internal problems. See mysqlConn.log() usage.
Is it possible to add an sql logging in the driver? This may be a flag in a config like cfg.LogStatements = true
or a separate logger/tracer field cfg.Tracer
like this implemented in the PGX driver tracelog:
config, err := pgxpool.ParseConfig(dsName)
tracer = &tracelog.TraceLog{Logger: myLogger, LogLevel: tracelog.LogLevelInfo}
config.ConnConfig.Tracer = tracer
Metadata
Metadata
Assignees
Labels
No labels