package logger import ( "log" "time" "github.com/evalphobia/logrus_sentry" "github.com/sirupsen/logrus" ) type Logger struct { *logrus.Logger } func NewLogger(appSource string, dsn string) *Logger { logger := logrus.New() // if dsn == "" { logger.Warn("sentry dsn is empty, its use is not possible") } else { if hook, err := logrus_sentry.NewSentryHook(dsn, []logrus.Level{ logrus.PanicLevel, logrus.FatalLevel, logrus.ErrorLevel, }); err != nil { log.Fatal(err) } else { // tags := make(map[string]string) tags["app"] = appSource hook.Timeout = 1 * time.Second hook.SetTagsContext(tags) // logger.Hooks.Add(hook) } } return &Logger{ Logger: logger, } }