diff --git a/internal/log/log.go b/internal/log/log.go new file mode 100644 index 0000000..c23d2bc --- /dev/null +++ b/internal/log/log.go @@ -0,0 +1,44 @@ +package log + +import ( + "bytes" + "os" + + "github.com/sirupsen/logrus" +) + +var Logger = logrus.New() + +type CustomTextFormatter struct { + logrus.TextFormatter +} + +func (f *CustomTextFormatter) Format(entry *logrus.Entry) ([]byte, error) { + if entry.Level != logrus.InfoLevel { + return f.TextFormatter.Format(entry) + } + + var b bytes.Buffer + b.WriteString(entry.Message) + b.WriteByte('\n') + return b.Bytes(), nil +} + + +func InitLogger() { + Logger.SetFormatter(&CustomTextFormatter{ + logrus.TextFormatter{ + DisableLevelTruncation: true, + PadLevelText: true, + DisableTimestamp: true, + }, + }) + + // Output to stdout instead of the default stderr + // Can be any io.Writer, see below for File example + Logger.SetOutput(os.Stdout) + + // Only log the warning severity or above. + Logger.SetLevel(logrus.DebugLevel) + +}