summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/changes/changes.xml1
-rw-r--r--src/main/cpp/level.cpp24
2 files changed, 9 insertions, 16 deletions
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 0857ec3..b92e5ed 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -72,6 +72,7 @@
<action issue="LOGCXX-381" type="fix">Pkgconfig can't find dependencies properly if log4cxx built statically</action>
<action issue="LOGCXX-382" type="fix">Mingw build type conversion error</action>
<action issue="LOGCXX-388" type="fix">Hierarchy::updateParents loops forever on illegal logger-name like '.logger1'</action>
+ <action issue="LOGCXX-394" type="fix">Levels are not thread safe</action>
<action issue="LOGCXX-412" type="fix">Log4cxx doesn't roll normally when working under multiple processes environment</action>
<action issue="LOGCXX-413" type="fix">log4cxx doesn't compile on openembedded (due to Alex Zbarcea)</action>
<action issue="LOGCXX-414" type="fix">possibly wrong use of autotools docdir (due to Alex Zbarcea)</action>
diff --git a/src/main/cpp/level.cpp b/src/main/cpp/level.cpp
index f784203..953b27a 100644
--- a/src/main/cpp/level.cpp
+++ b/src/main/cpp/level.cpp
@@ -30,44 +30,36 @@ using namespace log4cxx::helpers;
IMPLEMENT_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS(Level, LevelClass)
LevelPtr Level::getOff() {
- static LevelPtr level(new Level(Level::OFF_INT, LOG4CXX_STR("OFF"), 0));
- return level;
+ return LevelPtr(new Level(Level::OFF_INT, LOG4CXX_STR("OFF"), 0));
}
LevelPtr Level::getFatal() {
- static LevelPtr level(new Level(Level::FATAL_INT, LOG4CXX_STR("FATAL"), 0));
- return level;
+ return LevelPtr(new Level(Level::FATAL_INT, LOG4CXX_STR("FATAL"), 0));
}
LevelPtr Level::getError() {
- static LevelPtr level(new Level(Level::ERROR_INT, LOG4CXX_STR("ERROR"), 3));
- return level;
+ return LevelPtr(new Level(Level::ERROR_INT, LOG4CXX_STR("ERROR"), 3));
}
LevelPtr Level::getWarn() {
- static LevelPtr level(new Level(Level::WARN_INT, LOG4CXX_STR("WARN"), 4));
- return level;
+ return LevelPtr(new Level(Level::WARN_INT, LOG4CXX_STR("WARN"), 4));
}
LevelPtr Level::getInfo() {
- static LevelPtr level(new Level(Level::INFO_INT, LOG4CXX_STR("INFO"), 6));
- return level;
+ return LevelPtr(new Level(Level::INFO_INT, LOG4CXX_STR("INFO"), 6));
}
LevelPtr Level::getDebug() {
- static LevelPtr level(new Level(Level::DEBUG_INT, LOG4CXX_STR("DEBUG"), 7));
- return level;
+ return LevelPtr(new Level(Level::DEBUG_INT, LOG4CXX_STR("DEBUG"), 7));
}
LevelPtr Level::getTrace() {
- static LevelPtr level(new Level(Level::TRACE_INT, LOG4CXX_STR("TRACE"), 7));
- return level;
+ return LevelPtr(new Level(Level::TRACE_INT, LOG4CXX_STR("TRACE"), 7));
}
LevelPtr Level::getAll() {
- static LevelPtr level(new Level(Level::ALL_INT, LOG4CXX_STR("ALL"), 7));
- return level;
+ return LevelPtr(new Level(Level::ALL_INT, LOG4CXX_STR("ALL"), 7));
}