1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- package logger
- import (
- "github.com/sirupsen/logrus"
- "metawant.greentech.com.cn/gaoyagang/gt-common/mail"
- )
- type GtLogger struct {
- *logrus.Entry
- AppName string
- Mode string
- }
- func CreateGtLogger(name, mode string) *GtLogger {
- log := logrus.New()
- customFormatter := &logrus.TextFormatter{
- TimestampFormat: "2006-01-02 15:04:05",
- }
- log.SetFormatter(customFormatter)
- logEntry := log.WithFields(logrus.Fields{
- "app_name": name,
- })
- gtLogger := &GtLogger{Entry: logEntry, AppName: name, Mode: mode}
- return gtLogger
- }
- func (logger *GtLogger) ErrorAndSendMail(err error) {
- logger.Error(err)
- if logger.Mode == "dev" {
- return
- }
- mailClient := mail.CreateDefaultMailApiClient(logger.AppName, logger.Mode)
- go func() {
- defer func() {
- if r := recover(); r != nil {
- logger.Error("ErrorAndSendMail Recovered Error:", r)
- }
- }()
- mailErr := mailClient.SendErrorWarning(err)
- if mailErr != nil {
- logger.Error("ErrorAndSendMail SendErrorWarning Error:", mailErr.Error())
- }
- }()
- }
|