refactor: Switching to a cron system for tasks, restructuring service and status models

Added response time field for Status model, set log level from ENV
This commit is contained in:
2025-10-28 00:51:29 +03:00
parent 1958d9b3d9
commit b33df27b31
11 changed files with 254 additions and 63 deletions

View File

@@ -1,19 +1,23 @@
package log
import (
"os"
"strings"
"sync"
"github.com/sirupsen/logrus"
)
const (
SERVER = "server"
SYSTEM = "system"
DATABASE = "database"
CRON = "cron"
QUEUE = "queue"
RABBIT = "rabbit"
internal = "internal"
SERVER = "server"
SYSTEM = "system"
DATABASE = "database"
CRON = "cron"
QUEUE = "queue"
Observer = "observer"
Scheduler = "scheduler"
RABBIT = "rabbit"
internal = "internal"
)
var Global *LoggerManager
@@ -42,8 +46,14 @@ func (m *LoggerManager) Put(name string, logger *logrus.Logger) {
m.mu.Lock()
defer m.mu.Unlock()
l, err := logrus.ParseLevel(strings.ToLower(os.Getenv("LOG_LEVEL")))
if err != nil {
l = logrus.ErrorLevel
}
logger.Level = l
if _, ok := m.loggers[name]; ok {
m.loggers[internal].Errorf("Logger with name '%s' already exists. Use PutForce to replace it.", name)
m.loggers[internal].Warnf("Logger with name '%s' already exists. Use PutForce to replace it.", name)
return
}