laniakea now used as external module

This commit is contained in:
2026-01-28 16:52:42 +03:00
parent 6c47d05e9c
commit 5e5be54f1e
21 changed files with 59 additions and 48 deletions

View File

@@ -3,9 +3,10 @@ package plugins
import (
"fmt"
"kurumibot/database/mdb"
"kurumibot/laniakea"
"strings"
"time"
"git.nix13.pw/scuroneko/laniakea"
)
func InitLogsPlugin() {}
@@ -32,22 +33,27 @@ func logMiddleware(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
}
}
func DatabaseLogger(db *laniakea.DatabaseContext) *laniakea.LoggerWriter {
w := &laniakea.LoggerWriter{}
w.SetFn(func(level laniakea.LogLevel, prefix, traceback string, m []any) error {
t := time.Now()
entry := &mdb.ConsoleLogEntry{
Level: level.GetName(),
Prefix: prefix,
Traceback: traceback,
Message: strings.Join(laniakea.Map(m, func(el any) string {
return fmt.Sprintf("%v", el)
}), "\n"),
Time: t,
TimeStamp: t.Unix(),
}
err := mdb.WriteConsoleLog(db, entry)
return err
})
type DatabaseWriter struct {
laniakea.LoggerWriter
db *laniakea.DatabaseContext
}
func (w *DatabaseWriter) Print(level laniakea.LogLevel, prefix string, traceback []*laniakea.MethodTraceback, messages ...any) error {
t := time.Now()
entry := &mdb.ConsoleLogEntry{
Level: level.GetName(),
Prefix: prefix,
Traceback: laniakea.FormatFullTraceback(traceback),
Message: strings.Join(laniakea.Map(messages, func(el any) string {
return fmt.Sprintf("%v", el)
}), "\n"),
Time: t,
TimeStamp: t.Unix(),
}
err := mdb.WriteConsoleLog(w.db, entry)
return err
}
func DatabaseLogger(db *laniakea.DatabaseContext) laniakea.LoggerWriter {
w := &DatabaseWriter{db: db}
return w
}