【Go】Echo アプリログ出力処理(複数ファイルへ)
実際使おうとすると調べる内容が細かい。。けどメモ。
logrusというのを使ってみる。ローテションはとりあえず考えない。
log/log.go
package log import ( "os" "fmt" "github.com/Sirupsen/logrus" ) var AppLog = logrus.New() var AppLog2 = logrus.New() func init() { // Log1 file, err := os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) if err != nil { panic(fmt.Sprintf("[Error]: %s", err)) } AppLog.Out = file AppLog.Formatter = &logrus.JSONFormatter{} // Log2 file, err := os.OpenFile("app2.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) if err != nil { panic(fmt.Sprintf("[Error]: %s", err)) } AppLog2.Out = file AppLog2.Formatter = &logrus.JSONFormatter{} }
main.go
package main import ( "app/log" "github.com/labstack/echo" ) func main() { e := echo.New() log.AppLog.Info("Log1 Output") log.AppLog2.Info("Log2 Output") e.Start(":8080") }
以上です