laniakea now used as external module
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user