亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

golang gorm 訪問底層mysql查詢

golang gorm 訪問底層mysql查詢

Go
精慕HU 2021-12-27 18:00:32
有沒有辦法從https://github.com/jinzhu/gorm獲取 sql 查詢日志?例如,在開發環境中,能夠將已調用的 mysql 查詢記錄到控制臺會很有用。例如,如何獲取以下查詢的底層 sql 查詢日志:gorm.Find(&todos)gorm.Preload("User").Find(&todos)我知道我可以打電話:gorm.Debug().Find(&todos)gorm.Debug().Preload("User").Find(&todos)但我只想Debug()在開發環境而不是生產環境中調用
查看完整描述

3 回答

?
慕絲7291255

TA貢獻1859條經驗 獲得超6個贊

這將解決問題:


db, err:= Open(dbType, connectionDSN);

db.LogMode(true)


查看完整回答
反對 回復 2021-12-27
?
嗶嗶one

TA貢獻1854條經驗 獲得超8個贊

在新版本(GORM v2)中,使用Logger界面:


import "gorm.io/gorm/logger"



db, err := gorm.Open(mysql.Open(connectionDSN), &gorm.Config{

    Logger: logger.Default.LogMode(logger.Info),

})

對于舊版本(GORM v1):


db, err:= Open(dbType, connectionDSN);

db.LogMode(true)

注意:這不是 MySQL 特有的,可以與任何其他數據庫驅動程序(例如 Postgres、SQLite 等)一起使用。


查看完整回答
反對 回復 2021-12-27
?
繁花如伊

TA貢獻2012條經驗 獲得超12個贊

您可以使用 gorm.SetLogger 方法將您自己的記錄器傳遞給 gorm。它使用記錄器的 Print 方法來打印日志以及 SQL 查詢。任何記錄器(logrus/go 的內置記錄器)的 Print 方法的日志級別通常設置為 INFO。在將記錄器傳遞給 gorm 時,如果將日志級別設置為低于或等于 INFO(DEBUG/INFO) 的任何級別,則可以通過 gorm 查看 sql 查詢和其他日志

您也可以從配置文件中解析日志級別,您可以在其中根據環境進行設置


查看完整回答
反對 回復 2021-12-27
  • 3 回答
  • 0 關注
  • 258 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號