package log import ( "sync" "github.com/sirupsen/logrus" ) const ( SERVER = "server" SYSTEM = "system" DATABASE = "database" CRON = "cron" ) var Global *LoggerManager func SetGlobalManager(manager *LoggerManager) { Global = manager } type LoggerManager struct { loggers map[string]*logrus.Logger mu sync.Mutex } func (m *LoggerManager) Get(name string) *logrus.Logger { if logger, ok := m.loggers[name]; ok { return logger } return nil } func (m *LoggerManager) Put(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{ loggers: make(map[string]*logrus.Logger), } }