This is an automated email from the ASF dual-hosted git repository.
swebb2066 pushed a commit to branch next_stable
in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git
The following commit(s) were added to refs/heads/next_stable by this push:
new 0e6747be Prevent MSVC warning messages (#150)
0e6747be is described below
commit 0e6747beaaf9fb0a495d97565fe5ae6c2796d312
Author: Stephen Webb <[email protected]>
AuthorDate: Sat Nov 12 16:38:01 2022 +1100
Prevent MSVC warning messages (#150)
---
src/main/cpp/hierarchy.cpp | 5 ++---
src/main/cpp/logmanager.cpp | 10 ++++------
src/main/cpp/rollingpolicybase.cpp | 4 ++--
src/main/include/log4cxx/hierarchy.h | 8 +++-----
src/main/include/log4cxx/spi/loggerrepository.h | 5 +++--
src/test/cpp/abts.cpp | 7 +++----
6 files changed, 17 insertions(+), 22 deletions(-)
diff --git a/src/main/cpp/hierarchy.cpp b/src/main/cpp/hierarchy.cpp
index 98c4ba6c..e9a63016 100644
--- a/src/main/cpp/hierarchy.cpp
+++ b/src/main/cpp/hierarchy.cpp
@@ -31,7 +31,6 @@
#define LOG4CXX 1
#endif
#include <log4cxx/helpers/aprinitializer.h>
-#include <log4cxx/defaultconfigurator.h>
#include <log4cxx/spi/rootlogger.h>
#include <mutex>
#include <apr.h>
@@ -300,12 +299,12 @@ bool Hierarchy::isDisabled(int level) const
return m_priv->thresholdInt > level;
}
-void Hierarchy::autoConfigure()
+void Hierarchy::ensureIsConfigured(std::function<void()> configurator)
{
std::unique_lock<std::mutex> lock(m_priv->configuredMutex);
if (!m_priv->configured)
{
- DefaultConfigurator::configure(shared_from_this());
+ configurator();
m_priv->configured = true;
}
}
diff --git a/src/main/cpp/logmanager.cpp b/src/main/cpp/logmanager.cpp
index e21f8bbe..08a4903e 100644
--- a/src/main/cpp/logmanager.cpp
+++ b/src/main/cpp/logmanager.cpp
@@ -21,6 +21,7 @@
#endif
#include <log4cxx/logmanager.h>
+#include <log4cxx/defaultconfigurator.h>
#include <log4cxx/spi/defaultrepositoryselector.h>
#include <log4cxx/hierarchy.h>
#include <log4cxx/spi/rootlogger.h>
@@ -86,8 +87,7 @@ LoggerPtr LogManager::getRootLogger()
{
// Delegate the actual manufacturing of the logger to the logger
repository.
auto r = getLoggerRepository();
- if (!r->isConfigured())
- r->autoConfigure();
+ r->ensureIsConfigured(std::bind(DefaultConfigurator::configure, r));
return r->getRootLogger();
}
@@ -97,8 +97,7 @@ Retrieve the appropriate Logger instance.
LoggerPtr LogManager::getLoggerLS(const LogString& name)
{
auto r = getLoggerRepository();
- if (!r->isConfigured())
- r->autoConfigure();
+ r->ensureIsConfigured(std::bind(DefaultConfigurator::configure, r));
return r->getLogger(name);
}
@@ -110,8 +109,7 @@ LoggerPtr LogManager::getLoggerLS(const LogString& name,
{
// Delegate the actual manufacturing of the logger to the logger
repository.
auto r = getLoggerRepository();
- if (!r->isConfigured())
- r->autoConfigure();
+ r->ensureIsConfigured(std::bind(DefaultConfigurator::configure, r));
return r->getLogger(name, factory);
}
diff --git a/src/main/cpp/rollingpolicybase.cpp
b/src/main/cpp/rollingpolicybase.cpp
index c22a36a4..2d851ee1 100644
--- a/src/main/cpp/rollingpolicybase.cpp
+++ b/src/main/cpp/rollingpolicybase.cpp
@@ -126,9 +126,9 @@ void RollingPolicyBase::formatFileName(
converterIter != m_priv->patternConverters.end();
converterIter++, formatterIter++)
{
- int startField = toAppendTo.length();
+ auto startField = toAppendTo.length();
(*converterIter)->format(obj, toAppendTo, pool);
- (*formatterIter)->format(startField, toAppendTo);
+ (*formatterIter)->format((int)startField, toAppendTo);
}
}
diff --git a/src/main/include/log4cxx/hierarchy.h
b/src/main/include/log4cxx/hierarchy.h
index 153e2e62..e4d06fde 100644
--- a/src/main/include/log4cxx/hierarchy.h
+++ b/src/main/include/log4cxx/hierarchy.h
@@ -52,9 +52,7 @@ then it creates a provision node for the ancestor and adds
itself
to the provision node. Other descendants of the same ancestor add
themselves to the previously created provision node.
*/
-class LOG4CXX_EXPORT Hierarchy :
- public virtual spi::LoggerRepository,
- public std::enable_shared_from_this<Hierarchy>
+class LOG4CXX_EXPORT Hierarchy : public spi::LoggerRepository
{
private:
LOG4CXX_DECLARE_PRIVATE_MEMBER_PTR(HierarchyPrivate, m_priv)
@@ -79,9 +77,9 @@ class LOG4CXX_EXPORT Hierarchy :
void addHierarchyEventListener(const
spi::HierarchyEventListenerPtr& listener) override;
/**
- * Call DefaultConfigurator::configure if not yet configured.
+ * Call \c configurator if not yet configured.
*/
- void autoConfigure() override;
+ void ensureIsConfigured(std::function<void()> configurator)
override;
/**
This call will clear all logger definitions from the internal
diff --git a/src/main/include/log4cxx/spi/loggerrepository.h
b/src/main/include/log4cxx/spi/loggerrepository.h
index e76bf16a..baf16e12 100644
--- a/src/main/include/log4cxx/spi/loggerrepository.h
+++ b/src/main/include/log4cxx/spi/loggerrepository.h
@@ -28,6 +28,7 @@
#include <log4cxx/spi/loggerfactory.h>
#include <log4cxx/level.h>
#include <log4cxx/spi/hierarchyeventlistener.h>
+#include <functional>
namespace log4cxx
{
@@ -58,9 +59,9 @@ class LOG4CXX_EXPORT LoggerRepository : public virtual
helpers::Object
listener) = 0;
/**
- * Load the configuration if not yet configured.
+ * Call \c configurator if not yet configured.
*/
- virtual void autoConfigure() {};
+ virtual void ensureIsConfigured(std::function<void()>
configurator) = 0;
/**
Is the repository disabled for a given level? The answer depends
diff --git a/src/test/cpp/abts.cpp b/src/test/cpp/abts.cpp
index d40ec642..5843d649 100644
--- a/src/test/cpp/abts.cpp
+++ b/src/test/cpp/abts.cpp
@@ -527,8 +527,7 @@ void abts_not_impl(abts_case* tc, const char* message, int
lineno)
int main(int argc, const char* const argv[])
{
- int i;
- int rv;
+ int rv = 0;
int list_provided = 0;
abts_suite* suite = NULL;
@@ -540,7 +539,7 @@ int main(int argc, const char* const argv[])
quiet = !isatty(STDOUT_FILENO);
#endif
- for (i = 1; i < argc; i++)
+ for (int i = 1; i < argc; i++)
{
if (!strcmp(argv[i], "-v"))
{
@@ -582,7 +581,7 @@ int main(int argc, const char* const argv[])
*/
testlist = (const char**) calloc(argc + 1, sizeof(char*));
- for (i = 1; i < argc; i++)
+ for (int i = 1; i < argc; i++)
{
testlist[i - 1] = argv[i];
}