Pytanie golang gorm Uzyskaj dostęp do podstawowego zapytania mysql


Czy istnieje sposób, aby uzyskać dziennik zapytań sql z https://github.com/jinzhu/gorm?

na przykład w środowisku deweloperskim przydatne byłoby logowanie do konsoli wywoływanych zapytań mysql.

na przykład jak uzyskać podstawowy dziennik zapytań sql dla następujących zapytań:

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

Wiem, że mogę zadzwonić:

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

ale chciałbym tylko zadzwonić Debug() jeśli w środowisku deweloperskim, a nie w produkcji


14
2018-03-29 10:14


pochodzenie




Odpowiedzi:


To wystarczy:

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

22
2018-03-29 11:39





Możesz przekazać swój własny program do gormu za pomocą metody gorm.SetLogger. Wykorzystuje metodę drukowania loggera do drukowania dzienników oraz zapytań SQL. Poziom dziennika metody drukowania dla dowolnego programu rejestrującego (logger inogrodu / go) jest zwykle ustawiony na INFO. Podczas przekazywania rejestratora do grona, jeśli ustawisz poziom dziennika na wartość poniżej lub równą INFO (DEBUG / INFO), możesz zobaczyć kwerendy sql i inne logi przez gorm

Można również przeanalizować poziom dziennika z pliku konfiguracyjnego, który można ustawić na podstawie środowiska


1
2018-03-29 10:22