SQLBoilerでは、Debug Loggingという機能があり、これを有効にするとSQLクエリが実行されるたびに標準出力されます。
boil.DebugMode = true
このデバッグログの出力先はデフォルトでos.Stdout
になっていますがboil.DebugWriter
を使用することで自由に上書きすることができます。
この記事では、Goのロギングライブラリとして有名なzapでこのログを出力するようにします。
TL;DR
stdOutLogger, err := zap.NewStdLogAt(L, zapcore.DebugLevel) if err != nil { panic(err) } boil.DebugMode = true boil.DebugWriter = stdOutLogger.Writer()
NewStdLogAt
で、指定したレベルのstdOutLoggerを取得してboil.DebugWriter
に渡せばOKです。以下のような出力になります。