実用Go言語 9.9.4 クエリーのロギングより メモ
- 標準ライブラリのdatabase/sqlパッケージはロギングをサポートしていない
- サードパーティ側で用意されている場合積極的にライブラリ側のAPIを使うとよい
newLogger := logger.New(
log.New(os.Stdout, "\r", log.LstdFlags), //出力設定、改行方法、プロパティ
logger.Config{LogLevel: logger.Info}, //Silent, Error, Warn, Info がある
)
db, err := gorm.Open(sqlite.Open("test.db"), &gorm.Config{Logger: newLogger})
if err != nil {
log.Fatal(err)
}
※log.LstdFlags とは
logを yyyy/mm/dd HH:MM:SS で表示する。
他にもLmicrosecondsマイクロセカンド表示などがある
表示されたログ
2024/07/29 04:39:54 C:/Users/hoge.hoge/dev/golang_try/try.go:29
[0.000ms] [rows:-] SELECT count(*) FROM sqlite_master WHERE type='table' AND name="products"