TLogger *TLoggerFactory::create(const QString &key) { QMutexLocker locker(&mutex); loadPlugins(); TLogger *logger = 0; QString k = key.toLower(); if (k == TFileLogger().key().toLower()) { logger = new TFileLogger; } else { for (QListIterator<TLoggerInterface *> i(*ssifs); i.hasNext(); ) { TLoggerInterface *lif = i.next(); if (lif->keys().contains(k)) { logger = lif->create(k); break; } } } return logger; }
/*! Creates and returns a TLogger object that matches the given key, or returns 0 if no matching logger is found. */ TLogger *TLoggerFactory::create(const QString &key) { const QString FILE_KEY = TFileLogger().key().toLower(); QMutexLocker locker(&mutex); loadPlugins(); TLogger *logger = 0; QString k = key.toLower(); if (k == FILE_KEY) { logger = new TFileLogger; } else { TLoggerInterface *lggif = lggIfMap->value(k); if (lggif) { logger = lggif->create(key); } } return logger; }