Browse Source

logger: update mail adapter

Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
Nicola Murino 1 year ago
parent
commit
c437f0ad76
3 changed files with 36 additions and 18 deletions
  1. 2 2
      go.mod
  2. 4 4
      go.sum
  3. 30 12
      internal/logger/mail.go

+ 2 - 2
go.mod

@@ -63,7 +63,7 @@ require (
 	github.com/subosito/gotenv v1.6.0
 	github.com/unrolled/secure v1.13.0
 	github.com/wagslane/go-password-validator v0.3.0
-	github.com/wneessen/go-mail v0.4.0
+	github.com/wneessen/go-mail v0.4.1-0.20230815095916-0189acf1e45f
 	github.com/yl2chen/cidranger v1.0.3-0.20210928021809-d1cb2c52f37a
 	go.etcd.io/bbolt v1.3.7
 	go.uber.org/automaxprocs v1.5.3
@@ -172,7 +172,7 @@ require (
 )
 
 replace (
-	github.com/fclairamb/ftpserverlib => github.com/drakkan/ftpserverlib v0.0.0-20230820134433-b2a9de7897b3
+	github.com/fclairamb/ftpserverlib => github.com/drakkan/ftpserverlib v0.0.0-20230820193955-e7243edeb89b
 	github.com/jlaffaye/ftp => github.com/drakkan/ftp v0.0.0-20201114075148-9b9adce499a9
 	github.com/robfig/cron/v3 => github.com/drakkan/cron/v3 v3.0.0-20230222140221-217a1e4d96c0
 	golang.org/x/crypto => github.com/drakkan/crypto v0.0.0-20230804183749-f40d052136b8

+ 4 - 4
go.sum

@@ -160,8 +160,8 @@ github.com/drakkan/crypto v0.0.0-20230804183749-f40d052136b8 h1:TUieQf6mz4xlWJav
 github.com/drakkan/crypto v0.0.0-20230804183749-f40d052136b8/go.mod h1:jjOR8ZXZPvxgpYUhVmAtGUCuD1OFc5Hq984QRL686so=
 github.com/drakkan/ftp v0.0.0-20201114075148-9b9adce499a9 h1:LPH1dEblAOO/LoG7yHPMtBLXhQmjaga91/DDjWk9jWA=
 github.com/drakkan/ftp v0.0.0-20201114075148-9b9adce499a9/go.mod h1:2lmrmq866uF2tnje75wQHzmPXhmSWUt7Gyx2vgK1RCU=
-github.com/drakkan/ftpserverlib v0.0.0-20230820134433-b2a9de7897b3 h1:z1XhTv2fAIkd0/T6NtYwW78iZWxwZclBPXcqiQnUELw=
-github.com/drakkan/ftpserverlib v0.0.0-20230820134433-b2a9de7897b3/go.mod h1:dI9/yw/KfJ0g4wmRK8ZukUfqakLr6ZTf9VDydKoLy90=
+github.com/drakkan/ftpserverlib v0.0.0-20230820193955-e7243edeb89b h1:sCtiYerLxfOQrSludkwGwwXLlSVHxpvfmyOxjCOf0ec=
+github.com/drakkan/ftpserverlib v0.0.0-20230820193955-e7243edeb89b/go.mod h1:dI9/yw/KfJ0g4wmRK8ZukUfqakLr6ZTf9VDydKoLy90=
 github.com/drakkan/webdav v0.0.0-20230227175313-32996838bcd8 h1:tdkLkSKtYd3WSDsZXGJDKsakiNstLQJPN5HjnqCkf2c=
 github.com/drakkan/webdav v0.0.0-20230227175313-32996838bcd8/go.mod h1:zOVb1QDhwwqWn2L2qZ0U3swMSO4GTSNyIwXCGO/UGWE=
 github.com/eikenb/pipeat v0.0.0-20210730190139-06b3e6902001 h1:/ZshrfQzayqRSBDodmp3rhNCHJCff+utvgBuWRbiqu4=
@@ -493,8 +493,8 @@ github.com/unrolled/secure v1.13.0 h1:sdr3Phw2+f8Px8HE5sd1EHdj1aV3yUwed/uZXChLFs
 github.com/unrolled/secure v1.13.0/go.mod h1:BmF5hyM6tXczk3MpQkFf1hpKSRqCyhqcbiQtiAF7+40=
 github.com/wagslane/go-password-validator v0.3.0 h1:vfxOPzGHkz5S146HDpavl0cw1DSVP061Ry2PX0/ON6I=
 github.com/wagslane/go-password-validator v0.3.0/go.mod h1:TI1XJ6T5fRdRnHqHt14pvy1tNVnrwe7m3/f1f2fDphQ=
-github.com/wneessen/go-mail v0.4.0 h1:Oo4HLIV8My7G9JuZkoOX6eipXQD+ACvIqURYeIzUc88=
-github.com/wneessen/go-mail v0.4.0/go.mod h1:zxOlafWCP/r6FEhAaRgH4IC1vg2YXxO0Nar9u0IScZ8=
+github.com/wneessen/go-mail v0.4.1-0.20230815095916-0189acf1e45f h1:IYzF42VUzA6es43UO0q8rdB1+d7fge5ALPOVKN192jA=
+github.com/wneessen/go-mail v0.4.1-0.20230815095916-0189acf1e45f/go.mod h1:zxOlafWCP/r6FEhAaRgH4IC1vg2YXxO0Nar9u0IScZ8=
 github.com/yl2chen/cidranger v1.0.3-0.20210928021809-d1cb2c52f37a h1:XfF01GyP+0eWCaVp0y6rNN+kFp7pt9Da4UUYrJ5XPWA=
 github.com/yl2chen/cidranger v1.0.3-0.20210928021809-d1cb2c52f37a/go.mod h1:aXb8yZQEWo1XHGMf1qQfnb83GR/EJ2EBlwtUgAaNBoE=
 github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=

+ 30 - 12
internal/logger/mail.go

@@ -14,6 +14,12 @@
 
 package logger
 
+import (
+	"fmt"
+
+	"github.com/wneessen/go-mail/log"
+)
+
 const (
 	mailLogSender = "smtpclient"
 )
@@ -24,25 +30,37 @@ type MailAdapter struct {
 }
 
 // Errorf emits a log at Error level
-func (l *MailAdapter) Errorf(format string, v ...any) {
-	ErrorToConsole(format, v...)
-	Log(LevelError, mailLogSender, l.ConnectionID, format, v...)
+func (l *MailAdapter) Errorf(logMsg log.Log) {
+	format := l.getFormatString(&logMsg)
+	ErrorToConsole(format, logMsg.Messages...)
+	Log(LevelError, mailLogSender, l.ConnectionID, format, logMsg.Messages...)
 }
 
 // Warnf emits a log at Warn level
-func (l *MailAdapter) Warnf(format string, v ...any) {
-	WarnToConsole(format, v...)
-	Log(LevelWarn, mailLogSender, l.ConnectionID, format, v...)
+func (l *MailAdapter) Warnf(logMsg log.Log) {
+	format := l.getFormatString(&logMsg)
+	WarnToConsole(format, logMsg.Messages...)
+	Log(LevelWarn, mailLogSender, l.ConnectionID, format, logMsg.Messages...)
 }
 
 // Infof emits a log at Info level
-func (l *MailAdapter) Infof(format string, v ...any) {
-	InfoToConsole(format, v...)
-	Log(LevelInfo, mailLogSender, l.ConnectionID, format, v...)
+func (l *MailAdapter) Infof(logMsg log.Log) {
+	format := l.getFormatString(&logMsg)
+	InfoToConsole(format, logMsg.Messages...)
+	Log(LevelInfo, mailLogSender, l.ConnectionID, format, logMsg.Messages...)
 }
 
 // Debugf emits a log at Debug level
-func (l *MailAdapter) Debugf(format string, v ...any) {
-	DebugToConsole(format, v...)
-	Log(LevelDebug, mailLogSender, l.ConnectionID, format, v...)
+func (l *MailAdapter) Debugf(logMsg log.Log) {
+	format := l.getFormatString(&logMsg)
+	DebugToConsole(format, logMsg.Messages...)
+	Log(LevelDebug, mailLogSender, l.ConnectionID, format, logMsg.Messages...)
+}
+
+func (*MailAdapter) getFormatString(logMsg *log.Log) string {
+	p := "C <-- S:"
+	if logMsg.Direction == log.DirClientToServer {
+		p = "C --> S:"
+	}
+	return fmt.Sprintf("%s %s", p, logMsg.Format)
 }