⛳
Goでlogrusを用いたファイルへのログ出力
Goでlogrusを用いたファイルへのログ出力の方法です。
ライブラリはlogrusを使いました。
公式サイトにほぼ準拠
package services
import (
"os"
"github.com/sirupsen/logrus"
)
//LoggerService ログサービス
type LoggerService struct {
}
func (loggerService LoggerService) WriteApiLog(text string) error {
//ロガーの生成
var logger = logrus.New()
//ファイル取得
//ファイルは無ければ生成(os.O_CREATE)、書き込み(os.O_WRONLY)、追記モード(os.O_APPEND)、権限は0666
file, err := os.OpenFile("log/api.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
if err == nil {
logger.Out = file
} else {
return err
}
//ログをファイルへ出力
logger.WithFields(logrus.Fields{
"msg": text,
}).Info("ログの取得")
//以下がファイルに出力される。
//time="2021-02-13T11:56:48Z" level=info msg="ログの取得" fields.msg=test
return err
}
Discussion