feat: add log with logrus

main
ZGGSONG 2 years ago
parent e9c4e081c7
commit 60f6291bd7

@ -2,6 +2,7 @@ package common
import ( import (
"github.com/fsnotify/fsnotify" "github.com/fsnotify/fsnotify"
log "github.com/sirupsen/logrus"
"github.com/spf13/viper" "github.com/spf13/viper"
"os" "os"
"sendmsg/global" "sendmsg/global"
@ -20,7 +21,7 @@ func InitConfig() (model.Config, error) {
viper.AddConfigPath("../config") viper.AddConfigPath("../config")
viper.AddConfigPath(workDir + "/config") viper.AddConfigPath(workDir + "/config")
viper.OnConfigChange(func(e fsnotify.Event) { viper.OnConfigChange(func(e fsnotify.Event) {
Log.Printf("[conf] config update: %v\n", e.Name) log.Printf("[conf] config update: %v\n", e.Name)
global.GLO_CONF_CH <- updateConfig() global.GLO_CONF_CH <- updateConfig()
}) })
viper.WatchConfig() viper.WatchConfig()

@ -0,0 +1,26 @@
package common
import (
log "github.com/sirupsen/logrus"
"gopkg.in/natefinch/lumberjack.v2"
)
// InitLog2
//
// @Description: 初始化 logrus
func InitLog2() {
logger := &lumberjack.Logger{
Filename: "./log/log.log",
//Filename: "./log/log" + time.Now().Format("20060102_150405") + ".log",
MaxSize: 100, // 日志文件大小,单位是 MB
MaxBackups: 10, // 最大过期日志保留个数
MaxAge: 28, // 保留过期文件最大时间,单位 天
Compress: true, // 是否压缩日志默认是不压缩。这里设置为true压缩日志
LocalTime: true, // 是否使用本地时间默认是使用UTC时间
}
log.SetOutput(logger) // logrus 设置日志的输出方式
log.SetFormatter(&log.TextFormatter{
TimestampFormat: "2006-01-02 15:04:05",
})
}

@ -5,6 +5,7 @@ go 1.19
require ( require (
github.com/fsnotify/fsnotify v1.6.0 github.com/fsnotify/fsnotify v1.6.0
github.com/jordan-wright/email v4.0.1-0.20210109023952-943e75fe5223+incompatible github.com/jordan-wright/email v4.0.1-0.20210109023952-943e75fe5223+incompatible
github.com/sirupsen/logrus v1.9.0
github.com/spf13/viper v1.15.0 github.com/spf13/viper v1.15.0
gopkg.in/natefinch/lumberjack.v2 v2.2.1 gopkg.in/natefinch/lumberjack.v2 v2.2.1
) )

@ -146,6 +146,8 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k= github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k=
github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0=
github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk= github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk=
github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y=
github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
@ -303,6 +305,7 @@ golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ= golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ=
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=

@ -1,6 +1,7 @@
package main package main
import ( import (
log "github.com/sirupsen/logrus"
"sendmsg/common" "sendmsg/common"
"sendmsg/global" "sendmsg/global"
"sendmsg/message" "sendmsg/message"
@ -11,13 +12,13 @@ import (
func init() { func init() {
/*日志初始化*/ /*日志初始化*/
common.InitLog() common.InitLog2()
/*配置初始化*/ /*配置初始化*/
global.GLO_CONF_CH = make(chan model.Config) global.GLO_CONF_CH = make(chan model.Config)
_conf, err := common.InitConfig() _conf, err := common.InitConfig()
if err != nil { if err != nil {
common.Log.Fatalf("[init] Failed to initialize config: %v", err) log.Fatalf("[init] Failed to initialize config: %v", err)
} }
global.GLO_CONF = _conf global.GLO_CONF = _conf
} }

@ -3,8 +3,8 @@ package message
import ( import (
"bytes" "bytes"
"encoding/json" "encoding/json"
log "github.com/sirupsen/logrus"
"net/http" "net/http"
"sendmsg/common"
"sendmsg/model" "sendmsg/model"
) )
@ -14,7 +14,7 @@ type Bark struct {
} }
func (b *Bark) Send(body Body) { func (b *Bark) Send(body Body) {
common.Log.Printf("[bark] sending message...") log.Printf("[bark] sending message...")
var reqBody = model.BarkRequest{ var reqBody = model.BarkRequest{
DeviceKey: b.key, DeviceKey: b.key,
Title: body.Title, Title: body.Title,
@ -25,9 +25,9 @@ func (b *Bark) Send(body Body) {
"application/json; charset=utf-8", "application/json; charset=utf-8",
bytes.NewReader(req)) bytes.NewReader(req))
if err != nil { if err != nil {
common.Log.Fatalf("[bark] http post failed: %v\n", err) log.Fatalf("[bark] http post failed: %v\n", err)
} }
defer resp.Body.Close() defer resp.Body.Close()
common.Log.Printf("[bark] Send successful") log.Printf("[bark] Send successful")
} }

@ -3,8 +3,8 @@ package message
import ( import (
"fmt" "fmt"
"github.com/jordan-wright/email" "github.com/jordan-wright/email"
log "github.com/sirupsen/logrus"
"net/smtp" "net/smtp"
"sendmsg/common"
) )
type Mail struct { type Mail struct {
@ -18,7 +18,7 @@ type Mail struct {
} }
func (m *Mail) Send(body Body) { func (m *Mail) Send(body Body) {
common.Log.Printf("[mail] sending message...") log.Printf("[mail] sending message...")
e := email.NewEmail() e := email.NewEmail()
e.From = m.FromName e.From = m.FromName
e.To = m.To e.To = m.To
@ -27,7 +27,7 @@ func (m *Mail) Send(body Body) {
addr := fmt.Sprintf("%v:%v", m.Host, m.Port) addr := fmt.Sprintf("%v:%v", m.Host, m.Port)
err := e.Send(addr, smtp.PlainAuth("", m.Username, m.Password, m.Host)) err := e.Send(addr, smtp.PlainAuth("", m.Username, m.Password, m.Host))
if err != nil { if err != nil {
common.Log.Fatalf("[mail] send failed: %v\n", err) log.Fatalf("[mail] send failed: %v\n", err)
} }
common.Log.Printf("[mail] send successful") log.Printf("[mail] send successful")
} }

@ -1,6 +1,7 @@
package message package message
import ( import (
log "github.com/sirupsen/logrus"
"sendmsg/common" "sendmsg/common"
"sendmsg/global" "sendmsg/global"
"testing" "testing"
@ -10,7 +11,7 @@ import (
func TestSend(t *testing.T) { func TestSend(t *testing.T) {
conf, err := common.InitConfig() conf, err := common.InitConfig()
if err != nil { if err != nil {
common.Log.Println("[test] Failed to initialize config: ", err) log.Println("[test] Failed to initialize config: ", err)
} }
global.GLO_CONF = conf global.GLO_CONF = conf

@ -1,7 +1,7 @@
package service package service
import ( import (
"sendmsg/common" log "github.com/sirupsen/logrus"
"sendmsg/message" "sendmsg/message"
) )
@ -10,7 +10,7 @@ type Service struct {
} }
func (s Service) Run() { func (s Service) Run() {
common.Log.Printf("[service] start excute...") log.Printf("[service] start excute...")
send(s.Body) send(s.Body)
} }

Loading…
Cancel
Save