refactor(logger): Refactor logger

This commit is contained in:
2025-08-10 22:18:47 +03:00
parent 73b791615f
commit 76d03fb426

View File

@@ -11,6 +11,9 @@ const (
SYSTEM = "system"
DATABASE = "database"
CRON = "cron"
QUEUE = "queue"
RABBIT = "rabbit"
internal = "internal"
)
var Global *LoggerManager
@@ -25,6 +28,9 @@ type LoggerManager struct {
}
func (m *LoggerManager) Get(name string) *logrus.Logger {
m.mu.Lock()
defer m.mu.Unlock()
if logger, ok := m.loggers[name]; ok {
return logger
}
@@ -36,13 +42,32 @@ func (m *LoggerManager) Put(name string, logger *logrus.Logger) {
m.mu.Lock()
defer m.mu.Unlock()
if _, ok := m.loggers[name]; ok {
m.Get(internal).Errorf("Logger with name '%s' already exists. Use PutForce to replace it.", name)
return
}
logger.Formatter = NewTextFormatter(name)
m.loggers[name] = logger
}
func (m *LoggerManager) PutForce(name string, logger *logrus.Logger) {
m.mu.Lock()
defer m.mu.Unlock()
logger.Formatter = NewTextFormatter(name)
m.loggers[name] = logger
}
func NewManager() *LoggerManager {
return &LoggerManager{
manager := &LoggerManager{
loggers: make(map[string]*logrus.Logger),
}
manager.Put(internal, logrus.New())
return manager
}