记录SQL查询

Our go code is organized like this.

We have MySQL struct

type MySQL struct {
    mysqlDB *sql.DB
    db      sqlbuilder.Database
    logger  service.logger
}

Our repository

type ServiceRepo struct {
    db     *database.MySQL
    logger servicelogger.Logger
}

and then we use these structs to issue sql queries like this

statement, err := s.db.RawDatabase().PrepareContext(ctx, query)
if err != nil {
    return err
}
defer statement.Close()

_, err = statement.ExecContext(ctx, value1)

Now, what i want to do is to log every query that is being executed. How can i do this? I want to do client side logging.