summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortschoening <tschoening@13f79535-47bb-0310-9956-ffa450edef68>2014-02-10 15:19:34 +0000
committertschoening <tschoening@13f79535-47bb-0310-9956-ffa450edef68>2014-02-10 15:19:34 +0000
commit9c428df8169856c46a8026c815bfa4312cd1ae4d (patch)
tree62637c450fb2912db65e20b09739420f7426c18e
parent828057e1a995ab4c581731fcbe6b6a0179c0fbe4 (diff)
downloadlog4cxx-9c428df8169856c46a8026c815bfa4312cd1ae4d.tar.gz
LOGCXX-394: Levels are not thread safe
git-svn-id: http://svn.apache.org/repos/asf/incubator/log4cxx/trunk@1566655 13f79535-47bb-0310-9956-ffa450edef68
-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));
}