query golang all mysql logging go go-gorm

mysql - golang - gorm select database



Golang Gorm Acceda a la consulta mysql subyacente (2)

Esto hará el truco:

db, err:= Open(dbType, connectionDSN); db.LogMode(true)

¿Hay alguna manera de obtener el registro de consultas de SQL desde https://github.com/jinzhu/gorm ?

por ejemplo, en el entorno dev, sería útil poder registrar en la consola las consultas de mysql que se han llamado.

por ejemplo, cómo obtener el registro de consultas sql subyacente para las siguientes consultas:

gorm.Find(&todos) gorm.Preload("User").Find(&todos)

Soy consciente de que puedo llamar:

gorm.Debug().Find(&todos) gorm.Debug().Preload("User").Find(&todos)

pero solo me gustaría llamar a Debug() si está en desarrollo y no en producción.


Puede pasar su propio registrador a gorm usando el método gorm.SetLogger. Utiliza el método de impresión del registrador para imprimir registros, así como consultas SQL. El nivel de registro del método de impresión para cualquier registrador (el logger incorporado de logrus / go) generalmente se establece en INFO. Mientras pasa el registrador a gorm, si configura el nivel de registro en algo inferior o igual a INFO (DEBUG / INFO) puede ver las consultas de SQL y otros registros de gorm

También puede analizar el nivel de registro desde un archivo de configuración donde puede configurarlo según el entorno