refactor(logger): Refactor logger
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user