ログを出力する
f, _ := os.Create("出力するログファイルパス") gin.DefaultWriter = io.MultiWriter(f)
os.Createで出力用ファイルを指定します。
gin.DefaultWriter = io.MultiWriter(f)でfに指定された出力ファイルにログを出力します。
この設定をすることでファイルにログが出力されます。
コンソールに出力する場合は、
gin.DefaultWriter = io.MultiWriter(os.Stdout, f)とするとコンソール、ファイルにそれぞれ出力します。
ログ出力のサンプル
サンプルソース
・main.go
package main import ( "github.com/gin-gonic/gin" "io" "os" ) func main() { f, _ := os.Create("gin.log") gin.DefaultWriter = io.MultiWriter(os.Stdout, f) router := gin.Default() router.GET("/ping", func(c *gin.Context) { c.String(200, "pong") }) }
gin.logにログを出力するよう設定して、コンソールトファイルそれぞれにログを出力します。
出力されるログ
・gin.log
[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached. [GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production. - using env: export GIN_MODE=release - using code: gin.SetMode(gin.ReleaseMode) [GIN-debug] GET /ping --> main.main.func1 (3 handlers) [GIN-debug] Listening and serving HTTP on :8080
ログが出力されました。