亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

grom設置全局日志實現(xiàn)執(zhí)行并打印sql語句

 更新時間:2025年03月02日 11:35:56   作者:code--cat  
本文主要介紹了grom設置全局日志實現(xiàn)執(zhí)行并打印sql語句,包括設置日志級別、實現(xiàn)自定義Logger接口以及如何使用GORM的默認logger,通過這些方法,可以更好地控制和記錄數(shù)據(jù)庫操作的日志信息

gorm中的自定義日志

Gorm 有一個 默認 logger 實現(xiàn),默認情況下,它會打印慢 SQL 和錯誤

Logger 接受的選項不多,您可以在初始化時自定義它,例如:

newLogger := logger.New(
  log.New(os.Stdout, "\r\n", log.LstdFlags), // io writer
  logger.Config{
    SlowThreshold:              time.Second,   // Slow SQL threshold(慢速SQL閾值)
    LogLevel:                   logger.info, // Log level(日志級別)
    IgnoreRecordNotFoundError: true,           // Ignore ErrRecordNotFound error for logger
    ParameterizedQueries:      true,           // Don't include params in the SQL log(忽略記錄器的ErrRecordNotFound錯誤)
    Colorful:                  true,          // Disable color(禁用顏色)設置彩色打印
  },
)

// Globally mode
db, err := gorm.Open(sqlite.Open("test.db"), &gorm.Config{
  Logger: newLogger,
})

gorm中日志的其他操作

日志級別

GORM 定義了這些日志級別:Silent、Error、Warn、Info

db, err := gorm.Open(sqlite.Open("test.db"), &gorm.Config{
  Logger: logger.Default.LogMode(logger.Silent),
})

Debug

Debug 單個操作,將當前操作的 log 級別調整為 logger.Info

db.Debug().Where("name = ?", "jinzhu").First(&User{})

自定義 Logger

參考 GORM 的 默認 logger 來定義您自己的 logger

Logger 需要實現(xiàn)以下接口,它接受 context,所以你可以用它來追蹤日志

type Interface interface {
    LogMode(LogLevel) Interface
    Info(context.Context, string, ...interface{})
    Warn(context.Context, string, ...interface{})
    Error(context.Context, string, ...interface{})
    Trace(ctx context.Context, begin time.Time, fc func() (sql string, rowsAffected int64), err error)
}

詳細內容可參考gorm官方文檔:https://gorm.io/zh_CN/docs/logger.html

到此這篇關于grom設置全局日志實現(xiàn)執(zhí)行并打印sql語句的文章就介紹到這了,更多相關grom設置全局日志 內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • golang映射Map的方法步驟

    golang映射Map的方法步驟

    這篇文章主要介紹了golang映射Map的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • 簡介Go語言中的select語句的用法

    簡介Go語言中的select語句的用法

    這篇文章主要介紹了簡介Go語言中的select語句的用法,是golang入門學習中的基礎知識,需要的朋友可以參考下
    2015-10-10
  • 解析Go?中的?rune?類型

    解析Go?中的?rune?類型

    rune類型是?Go?語言的一種特殊數(shù)字類型,Go?語言通過rune處理中文,支持國際化多語言,本文給大家介紹Go?中的?rune?類型,感興趣的朋友一起看看吧
    2022-03-03
  • 使用Go中的Web3庫進行區(qū)塊鏈開發(fā)的案例

    使用Go中的Web3庫進行區(qū)塊鏈開發(fā)的案例

    區(qū)塊鏈作為一種分布式賬本技術,在近年來取得了巨大的發(fā)展,而Golang作為一種高效、并發(fā)性強的編程語言,被廣泛用于區(qū)塊鏈開發(fā)中,本文將介紹如何使用Golang中的Web3庫進行區(qū)塊鏈開發(fā),并提供一些實際案例,需要的朋友可以參考下
    2023-10-10
  • golang 的string與[]byte轉換方式

    golang 的string與[]byte轉換方式

    這篇文章主要介紹了golang 的string與[]byte轉換方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • golang?Strings包使用總結

    golang?Strings包使用總結

    Go語言在處理字符串時,strings包提供了豐富的函數(shù),如常用的strings.Contains檢查是否包含子串,strings.Join拼接字符串數(shù)組,strings.Split切割字符串等,熟悉這些函數(shù)能有效提高編程效率,尤其是在算法競賽或筆試題中
    2021-03-03
  • Go?語言進階單元測試示例詳解

    Go?語言進階單元測試示例詳解

    這篇文章主要為大家介紹了Go?語言進階單元測試示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • Go語言基礎函數(shù)基本用法及示例詳解

    Go語言基礎函數(shù)基本用法及示例詳解

    這篇文章主要為大家介紹了Go語言基礎函數(shù)基本用法及示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2021-11-11
  • Go語言中hot path的作用

    Go語言中hot path的作用

    熱路徑指的是經常執(zhí)行的性能敏感的代碼路徑,優(yōu)化這些路徑可以顯著提高應用性能,通過工具如pprof進行性能分析,識別和優(yōu)化熱路徑,能有效提升系統(tǒng)的響應能力和可靠性
    2024-10-10
  • go build 通過文件名后綴實現(xiàn)不同平臺的條件編譯操作

    go build 通過文件名后綴實現(xiàn)不同平臺的條件編譯操作

    這篇文章主要介紹了go build 通過文件名后綴實現(xiàn)不同平臺的條件編譯操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12

最新評論