#include <dpl/singleton.h>
#include <dpl/noncopyable.h>
#include <dpl/log/abstract_log_provider.h>
-#include <dpl/log/dlog_log_provider.h>
-#include <dpl/log/old_style_log_provider.h>
#include <sstream>
#include <list>
typedef std::list<AbstractLogProvider *> AbstractLogProviderPtrList;
AbstractLogProviderPtrList m_providers;
- DLOGLogProvider *m_dlogProvider;
- OldStyleLogProvider *m_oldStyleProvider;
-
bool m_isLoggingEnabled;
public:
#include <dpl/log/abstract_log_provider.h>
#include <cstring>
+#define UNUSED __attribute__((unused))
+
namespace SecurityServer {
namespace Log {
+
+void AbstractLogProvider::SetTag(const char *tag UNUSED) {}
+
const char *AbstractLogProvider::LocateSourceFileName(const char *filename)
{
const char *ptr = strrchr(filename, '/');
#include <dpl/log/log.h>
#include <dpl/singleton_impl.h>
+#include <dpl/log/dlog_log_provider.h>
+#include <dpl/log/old_style_log_provider.h>
IMPLEMENT_SINGLETON(SecurityServer::Log::LogSystem)
}
LogSystem::LogSystem() :
- m_dlogProvider(NULL),
- m_oldStyleProvider(NULL),
m_isLoggingEnabled(!getenv(SECURITY_SERVER_LOG_OFF))
{
#ifdef BUILD_TYPE_DEBUG
// Setup default DLOG and old style logging
if (oldStyleLogs) {
// Old style
- m_oldStyleProvider = new OldStyleLogProvider(oldStyleDebugLogs,
- oldStyleInfoLogs,
- oldStyleWarningLogs,
- oldStyleErrorLogs,
- oldStylePedanticLogs);
- AddProvider(m_oldStyleProvider);
+ AddProvider(new OldStyleLogProvider(oldStyleDebugLogs,
+ oldStyleInfoLogs,
+ oldStyleWarningLogs,
+ oldStyleErrorLogs,
+ oldStylePedanticLogs));
} else {
// DLOG
- m_dlogProvider = new DLOGLogProvider();
- AddProvider(m_dlogProvider);
+ AddProvider(new DLOGLogProvider());
}
#else // BUILD_TYPE_DEBUG
- m_dlogProvider = new DLOGLogProvider();
- AddProvider(m_dlogProvider);
+ AddProvider(new DLOGLogProvider());
#endif // BUILD_TYPE_DEBUG
}
}
m_providers.clear();
-
- // And even default providers
- m_dlogProvider = NULL;
- m_oldStyleProvider = NULL;
}
void LogSystem::SetTag(const char* tag)
{
- if (m_dlogProvider != NULL) {
- m_dlogProvider->SetTag(tag);
+ for (AbstractLogProviderPtrList::iterator iterator = m_providers.begin();
+ iterator != m_providers.end();
+ ++iterator)
+ {
+ (*iterator)->SetTag(tag);
}
}