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));
}