diff options
author | Henri Herscher <henri@oreka.org> | 2006-07-03 19:07:47 +0000 |
---|---|---|
committer | Henri Herscher <henri@oreka.org> | 2006-07-03 19:07:47 +0000 |
commit | 95c678548d1affd3a6a647160c8eec3738a59cdf (patch) | |
tree | 8376aed3e920739cfd2874eb07fae31e2e0a697f | |
parent | 34bc3be89f1112bca1bca15606c8421075accab4 (diff) |
LogManager is now a home-made singleton as opposed to an ACE singleton. This is because ACE singletons are not unique across DLL boundaries.
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@293 09dcff7a-b715-0410-9601-b79a96267cd0
-rw-r--r-- | orkbasecxx/LogManager.cpp | 7 | ||||
-rw-r--r-- | orkbasecxx/LogManager.h | 9 |
2 files changed, 14 insertions, 2 deletions
diff --git a/orkbasecxx/LogManager.cpp b/orkbasecxx/LogManager.cpp index 3092f85..a6d4e8a 100644 --- a/orkbasecxx/LogManager.cpp +++ b/orkbasecxx/LogManager.cpp @@ -18,6 +18,13 @@ #include <log4cxx/basicconfigurator.h> #include <log4cxx/logmanager.h> +OrkLogManager OrkLogManager::m_orkLogManager; + +OrkLogManager* OrkLogManager::Instance() +{ + return &m_orkLogManager; +} + void OrkLogManager::Initialize() { BasicConfigurator::configure(); diff --git a/orkbasecxx/LogManager.h b/orkbasecxx/LogManager.h index 7016855..a66d357 100644 --- a/orkbasecxx/LogManager.h +++ b/orkbasecxx/LogManager.h @@ -25,6 +25,8 @@ using namespace log4cxx; class DLL_IMPORT_EXPORT_ORKBASE OrkLogManager { public: + static OrkLogManager* Instance(); + void Initialize(); void Shutdown(); @@ -38,11 +40,14 @@ public: LoggerPtr configLog; LoggerPtr tapelistLog; LoggerPtr tapeLog; + +private: + static OrkLogManager m_orkLogManager; }; -typedef ACE_Singleton<OrkLogManager, ACE_Thread_Mutex> OrkLogManagerSingleton; +//typedef ACE_Singleton<OrkLogManager, ACE_Thread_Mutex> OrkLogManagerSingleton; -#define LOG (*OrkLogManagerSingleton::instance()) +#define LOG (*OrkLogManager::Instance()) #endif |