Author: tschoening Date: Mon Feb 10 15:19:34 2014 New Revision: 1566655 URL: http://svn.apache.org/r1566655 Log: LOGCXX-394: Levels are not thread safe
Modified: incubator/log4cxx/trunk/src/changes/changes.xml incubator/log4cxx/trunk/src/main/cpp/level.cpp Modified: incubator/log4cxx/trunk/src/changes/changes.xml URL: http://svn.apache.org/viewvc/incubator/log4cxx/trunk/src/changes/changes.xml?rev=1566655&r1=1566654&r2=1566655&view=diff ============================================================================== --- incubator/log4cxx/trunk/src/changes/changes.xml (original) +++ incubator/log4cxx/trunk/src/changes/changes.xml Mon Feb 10 15:19:34 2014 @@ -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> Modified: incubator/log4cxx/trunk/src/main/cpp/level.cpp URL: http://svn.apache.org/viewvc/incubator/log4cxx/trunk/src/main/cpp/level.cpp?rev=1566655&r1=1566654&r2=1566655&view=diff ============================================================================== --- incubator/log4cxx/trunk/src/main/cpp/level.cpp (original) +++ incubator/log4cxx/trunk/src/main/cpp/level.cpp Mon Feb 10 15:19:34 2014 @@ -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)); }