Heim >Backend-Entwicklung >Golang >Wie kann ich von GORM in Go ausgeführte MySQL-Abfragen protokollieren?

Wie kann ich von GORM in Go ausgeführte MySQL-Abfragen protokollieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-20 03:20:09804Durchsuche

How Can I Log MySQL Queries Executed by GORM in Go?

Zugriff auf die zugrunde liegende MySQL-Abfrage in Go mit GORM

In Entwicklungsumgebungen kann es von Vorteil sein, die von GORM ausgeführten MySQL-Abfragen zu protokollieren Debugging-Zwecke. Dadurch können Entwickler das generierte Roh-SQL überprüfen und mögliche Ineffizienzen oder Fehler identifizieren.

Um die Abfrageprotokollierung in GORM zu aktivieren, können die folgenden Schritte ausgeführt werden:

  1. Initialisieren Sie die Datenbank Verbindung mit Open():
db, err := Open(dbType, connectionDSN)
  1. Stellen Sie den Protokollmodus auf true:
db.LogMode(true)

Sobald diese Schritte abgeschlossen sind, protokolliert GORM automatisch alle ausgeführten Abfragen in der Konsole. Dazu gehören Abfragen, die sowohl von gorm.Find() als auch von gorm.Preload() generiert wurden.

Bedingte Abfrageprotokollierung

Für Umgebungen, in denen die Abfrageprotokollierung nur in der Entwicklung erwünscht ist, Es kann ein bedingter Ansatz verwendet werden:

if os.Getenv("ENV") == "dev" {
    db.LogMode(true)
}

In diesem Beispiel wird die Abfrageprotokollierung nur aktiviert, wenn die Umgebungsvariable ENV auf gesetzt ist „Entwickler“. Dadurch können Entwickler die Abfrageprotokollierung basierend auf der Ausführungsumgebung einfach umschalten.

Das obige ist der detaillierte Inhalt vonWie kann ich von GORM in Go ausgeführte MySQL-Abfragen protokollieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn