0

Logrus заменён на штатный log/slog, обновлены зависимости

This commit is contained in:
eleksir
2025-10-07 23:59:18 +03:00
parent e000489790
commit a49abdd715
380 changed files with 105 additions and 224708 deletions

View File

@@ -2,42 +2,95 @@ package main
import (
"fmt"
"log/slog"
"os"
"os/signal"
"syscall"
"time"
"github.com/go-redis/redis/v8"
log "github.com/sirupsen/logrus"
"aleesa-misc-go/internal/misc"
"github.com/go-redis/redis/v8"
)
func main() {
log.SetFormatter(&log.TextFormatter{
DisableQuote: true,
DisableLevelTruncation: false,
DisableColors: true,
FullTimestamp: true,
TimestampFormat: "2006-01-02 15:04:05",
})
var err error
misc.ReadConfig()
loghandler := os.Stderr
if misc.Config.Log != "" {
loghandler, err = os.OpenFile(misc.Config.Log, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0644)
if err != nil {
slog.Error(fmt.Sprintf("Unable to open log file %s: %s", misc.Config.Log, err))
os.Exit(1)
}
}
// no panic, no trace.
switch misc.Config.Loglevel {
case "fatal":
log.SetLevel(log.FatalLevel)
case "error":
log.SetLevel(log.ErrorLevel)
slog.SetDefault(
slog.New(
slog.NewTextHandler(
loghandler,
&slog.HandlerOptions{
Level: slog.LevelError,
},
),
),
)
case "warn":
log.SetLevel(log.WarnLevel)
slog.SetDefault(
slog.New(
slog.NewTextHandler(
loghandler,
&slog.HandlerOptions{
Level: slog.LevelWarn,
},
),
),
)
case "info":
log.SetLevel(log.InfoLevel)
slog.SetDefault(
slog.New(
slog.NewTextHandler(
loghandler,
&slog.HandlerOptions{
Level: slog.LevelInfo,
},
),
),
)
case "debug":
log.SetLevel(log.DebugLevel)
slog.SetDefault(
slog.New(
slog.NewTextHandler(
loghandler,
&slog.HandlerOptions{
Level: slog.LevelDebug,
},
),
),
)
default:
log.SetLevel(log.InfoLevel)
slog.SetDefault(
slog.New(
slog.NewTextHandler(
loghandler,
&slog.HandlerOptions{
Level: slog.LevelInfo,
},
),
),
)
}
// Иницализируем клиента Редиски.
@@ -48,17 +101,6 @@ func main() {
// Обозначим, что хотим после соединения подписаться на события из канала config.Channel.
misc.Subscriber = misc.RedisClient.Subscribe(misc.Ctx, misc.Config.Channel)
// Откроем лог и скормим его логгеру.
if misc.Config.Log != "" {
logfile, err := os.OpenFile(misc.Config.Log, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0644)
if err != nil {
log.Fatalf("Unable to open log file %s: %s", misc.Config.Log, err)
}
log.SetOutput(logfile)
}
// Самое время поставить траппер сигналов.
signal.Notify(misc.SigChan,
syscall.SIGINT,
@@ -70,7 +112,7 @@ func main() {
// Начнём выгребать события из редиски (длина конвеера/буфера канала по-умолчанию - 100 сообщений).
ch := misc.Subscriber.Channel()
log.Infoln("Aleesa-misc-go started")
slog.Info("Aleesa-misc-go started")
for msg := range ch {
if !misc.Shutdown {