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です。以下のような出力になります。
