[
https://issues.apache.org/jira/browse/LOGCXX-458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14991984#comment-14991984
]
Thorsten Schöning edited comment on LOGCXX-458 at 11/5/15 5:01 PM:
-------------------------------------------------------------------
So one doesn't need to check the svn history, I'll post the diff of LOGCXX-394:
{code}
Index: level.cpp
===================================================================
--- level.cpp (Revision 1566654)
+++ level.cpp (Revision 1566655)
@@ -30,44 +30,36 @@
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));
}
{code}
was (Author: tschoening):
So one doesn't need to check the svn history, I'll post the diff of LOGCXX-394:
Index: level.cpp
===================================================================
--- level.cpp (Revision 1566654)
+++ level.cpp (Revision 1566655)
@@ -30,44 +30,36 @@
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));
}
> Does log4cxx::Level::getError() leak memory?
> --------------------------------------------
>
> Key: LOGCXX-458
> URL: https://issues.apache.org/jira/browse/LOGCXX-458
> Project: Log4cxx
> Issue Type: Bug
> Reporter: Michael Herzlich
>
> Hi there,
> I have posted a question about the possible memory leak at stackoverflow:
> http://stackoverflow.com/questions/33546286/does-log4cxxlevelgeterror-leak-memory?noredirect=1#comment54872303_33546286
> Could anybody verify this? Is this behavior by intention?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)