refactor(logger): Refactor logger
This commit is contained in:
@@ -11,6 +11,9 @@ const (
|
|||||||
SYSTEM = "system"
|
SYSTEM = "system"
|
||||||
DATABASE = "database"
|
DATABASE = "database"
|
||||||
CRON = "cron"
|
CRON = "cron"
|
||||||
|
QUEUE = "queue"
|
||||||
|
RABBIT = "rabbit"
|
||||||
|
internal = "internal"
|
||||||
)
|
)
|
||||||
|
|
||||||
var Global *LoggerManager
|
var Global *LoggerManager
|
||||||
@@ -25,6 +28,9 @@ type LoggerManager struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (m *LoggerManager) Get(name string) *logrus.Logger {
|
func (m *LoggerManager) Get(name string) *logrus.Logger {
|
||||||
|
m.mu.Lock()
|
||||||
|
defer m.mu.Unlock()
|
||||||
|
|
||||||
if logger, ok := m.loggers[name]; ok {
|
if logger, ok := m.loggers[name]; ok {
|
||||||
return logger
|
return logger
|
||||||
}
|
}
|
||||||
@@ -36,13 +42,32 @@ func (m *LoggerManager) Put(name string, logger *logrus.Logger) {
|
|||||||
m.mu.Lock()
|
m.mu.Lock()
|
||||||
defer m.mu.Unlock()
|
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)
|
logger.Formatter = NewTextFormatter(name)
|
||||||
|
|
||||||
m.loggers[name] = logger
|
m.loggers[name] = logger
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewManager() *LoggerManager {
|
func NewManager() *LoggerManager {
|
||||||
return &LoggerManager{
|
manager := &LoggerManager{
|
||||||
loggers: make(map[string]*logrus.Logger),
|
loggers: make(map[string]*logrus.Logger),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
manager.Put(internal, logrus.New())
|
||||||
|
|
||||||
|
return manager
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user