30 lines
613 B
Go
30 lines
613 B
Go
package smtp
|
|
|
|
import (
|
|
"strings"
|
|
)
|
|
|
|
// loggerWrapper is a wrapper around logger.Logger to implement smtp.Logger interface
|
|
type loggerWrapper struct {
|
|
log func(string, ...interface{})
|
|
}
|
|
|
|
func (l loggerWrapper) Printf(format string, v ...interface{}) {
|
|
l.log(format, v...)
|
|
}
|
|
|
|
func (l loggerWrapper) Println(v ...interface{}) {
|
|
msg := strings.Repeat("%v ", len(v))
|
|
l.log(msg, v...)
|
|
}
|
|
|
|
// loggerWriter is a wrapper around io.Writer to implement io.Writer interface
|
|
type loggerWriter struct {
|
|
log func(string)
|
|
}
|
|
|
|
func (l loggerWriter) Write(p []byte) (n int, err error) {
|
|
l.log(string(p))
|
|
return len(p), nil
|
|
}
|