golang Gorm accéder à la requête mysql sous-jacente
y a-t-il un moyen d'obtenir le log de requête sql à partir de https://github.com/jinzhu/gorm?
par exemple, dans l'environnement dev, il serait utile de pouvoir enregistrer sur la console les requêtes mysql qui ont été appelées.
par exemple comment obtenir le log de requête sql sous-jacent pour les requêtes suivantes:
gorm.Find(&todos)
gorm.Preload("User").Find(&todos)
je sais que je peux appeler:
gorm.Debug().Find(&todos)
gorm.Debug().Preload("User").Find(&todos)
mais je voudrais seulement appeler Debug()
si dans l'environnement et non dans la production
2 réponses
Cela va faire l'affaire:
db, err:= Open(dbType, connectionDSN);
db.LogMode(true)
vous pouvez passer votre propre bûcheron à gorm en utilisant gorm.Méthode SetLogger. Il utilise la méthode D'impression de l'enregistreur pour imprimer des journaux ainsi que des requêtes SQL. La méthode log level of Print pour tout logger (Logrus / go's inbuild logger) est généralement définie à INFO. En passant le logger à gorm, si vous définissez le niveau de log à quelque chose en dessous ou égal à INFO (DEBUG / INFO), vous pouvez voir les requêtes sql et les autres logs par gorm
Aussi, vous pouvez analyser le niveau de journal à partir d'un fichier de configuration où vous pouvez basé sur l'environnement