【Go】gormで実行したsqlをファイルへログ出力する方法メモ
開発時またはリリース後もしばらくはSQLは全てログに残しておきたいのでそのやり方を調べたのでメモ。
http://jinzhu.me/gorm/advanced.html#logger
ドキュメントにそれっぽいのがあった
package main import ( "log" "os" "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/mysql" ) func main() { db, err := gorm.Open("mysql", "user:pass@tcp(host:port)/db_name") if err != nil { panic(err) } defer db.Close() // 出力先 file, err := os.OpenFile("/path/to/log", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666) if err != nil { panic(err) } log.SetOutput(file) // ★ログ設定 db.LogMode(true) db.SetLogger(log.New(file, "", 0)) ・・・ }
カスタマイズとかはもう少し余裕あったら。
他の人の記事見てると標準のlogパッケージってあんまり使わないのか...?
とりあえず以上です