diff options
author | tschoening <tschoening@13f79535-47bb-0310-9956-ffa450edef68> | 2014-02-10 15:19:34 +0000 |
---|---|---|
committer | tschoening <tschoening@13f79535-47bb-0310-9956-ffa450edef68> | 2014-02-10 15:19:34 +0000 |
commit | 9c428df8169856c46a8026c815bfa4312cd1ae4d (patch) | |
tree | 62637c450fb2912db65e20b09739420f7426c18e | |
parent | 828057e1a995ab4c581731fcbe6b6a0179c0fbe4 (diff) | |
download | log4cxx-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.xml | 1 | ||||
-rw-r--r-- | src/main/cpp/level.cpp | 24 |
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)); } |