Merge branch 'master' into documentation-updates
diff --git a/.github/workflows/log4cxx.yml b/.github/workflows/log4cxx.yml
index ef0dd8e..d7b821e 100644
--- a/.github/workflows/log4cxx.yml
+++ b/.github/workflows/log4cxx.yml
@@ -14,7 +14,7 @@
# limitations under the License.
name: log4cxx
-on: push
+on: [push, pull_request]
jobs:
job:
@@ -46,7 +46,7 @@
steps:
- uses: actions/checkout@v2
- - uses: lukka/set-shell-env@v1
+ - uses: lukka/set-shell-env@v1.1
with:
CXX: ${{ matrix.cxx }}
CC: ${{ matrix.cc }}
@@ -54,6 +54,7 @@
- name: 'Configure Dependencies - Ubuntu'
if: matrix.name == 'ubuntu18-gcc' || matrix.name == 'ubuntu18-clang'
run: |
+ sudo apt-get update
sudo apt-get install -y libapr1-dev libaprutil1-dev
# note: sqlext.h exists on github VM, purge for now as we don't link correctly...
sudo apt-get purge unixodbc-dev
@@ -68,7 +69,7 @@
- name: 'Configure Dependencies - Windows'
if: matrix.name == 'windows-2019' || matrix.name == 'windows-2016'
- uses: lukka/run-vcpkg@v2
+ uses: lukka/run-vcpkg@v5
id: runvcpkg
with:
vcpkgArguments: apr apr-util
@@ -77,7 +78,7 @@
vcpkgTriplet: x64-windows
- name: 'run cmake'
- uses: lukka/run-cmake@v2
+ uses: lukka/run-cmake@v3
with:
cmakeListsOrSettingsJson: CMakeListsTxtAdvanced
buildDirectory: ${{ runner.workspace }}/build
diff --git a/src/main/cpp/mapfilter.cpp b/src/main/cpp/mapfilter.cpp
index b164ae7..5ea3110 100644
--- a/src/main/cpp/mapfilter.cpp
+++ b/src/main/cpp/mapfilter.cpp
@@ -82,10 +82,10 @@
if (acceptOnMatch)
{
- return matched ? Filter::ACCEPT : Filter::DENY;
+ return matched ? Filter::ACCEPT : Filter::NEUTRAL;
}
else
{
- return matched ? Filter::DENY : Filter::ACCEPT;
+ return matched ? Filter::DENY : Filter::NEUTRAL;
}
}
diff --git a/src/main/cpp/odbcappender.cpp b/src/main/cpp/odbcappender.cpp
index 6bfa519..218df13 100644
--- a/src/main/cpp/odbcappender.cpp
+++ b/src/main/cpp/odbcappender.cpp
@@ -357,10 +357,12 @@
}
}
+#if LOG4CXX_WCHAR_T_API || LOG4CXX_LOGCHAR_IS_WCHAR_T || defined(WIN32) || defined(_WIN32)
void ODBCAppender::encode(wchar_t** dest, const LogString& src, Pool& p)
{
*dest = Transcoder::wencode(src, p);
}
+#endif
void ODBCAppender::encode(unsigned short** dest,
const LogString& src, Pool& p)
diff --git a/src/main/cpp/rollingfileappender.cpp b/src/main/cpp/rollingfileappender.cpp
index dfabb3b..90b5b48 100644
--- a/src/main/cpp/rollingfileappender.cpp
+++ b/src/main/cpp/rollingfileappender.cpp
@@ -340,11 +340,13 @@
}
else
{
+ closeWriter();
+ setFile(rollover1->getActiveFileName());
+ // Call activateOptions to create any intermediate directories(if required)
+ FileAppender::activateOptions(p);
OutputStreamPtr os(new FileOutputStream(
rollover1->getActiveFileName(), rollover1->getAppend()));
WriterPtr newWriter(createWriter(os));
- closeWriter();
- setFile(rollover1->getActiveFileName());
setWriter(newWriter);
bool success = true;
diff --git a/src/main/include/CMakeLists.txt b/src/main/include/CMakeLists.txt
index a8b0f40..97f286d 100644
--- a/src/main/include/CMakeLists.txt
+++ b/src/main/include/CMakeLists.txt
@@ -10,9 +10,6 @@
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/log4cxx/log4cxx.hw
${CMAKE_CURRENT_SOURCE_DIR}/log4cxx/private/log4cxx_private.hw
- BYPRODUCTS
- ${CMAKE_CURRENT_BINARY_DIR}/log4cxx/log4cxx.h
- ${CMAKE_CURRENT_BINARY_DIR}/log4cxx/private/log4cxx_private.h
)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/log4cxx/version_info.h.in
${CMAKE_CURRENT_BINARY_DIR}/log4cxx/version_info.h
@@ -112,8 +109,5 @@
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/log4cxx/log4cxx.h.in
${CMAKE_CURRENT_SOURCE_DIR}/log4cxx/private/log4cxx_private.h.in
- BYPRODUCTS
- ${CMAKE_CURRENT_BINARY_DIR}/log4cxx/log4cxx.h
- ${CMAKE_CURRENT_BINARY_DIR}/log4cxx/private/log4cxx_private.h
)
endif()
diff --git a/src/main/include/log4cxx/db/odbcappender.h b/src/main/include/log4cxx/db/odbcappender.h
index a26bc35..fdc144f 100644
--- a/src/main/include/log4cxx/db/odbcappender.h
+++ b/src/main/include/log4cxx/db/odbcappender.h
@@ -300,8 +300,10 @@
private:
ODBCAppender(const ODBCAppender&);
ODBCAppender& operator=(const ODBCAppender&);
+#if LOG4CXX_WCHAR_T_API || LOG4CXX_LOGCHAR_IS_WCHAR_T || defined(WIN32) || defined(_WIN32)
static void encode(wchar_t** dest, const LogString& src,
log4cxx::helpers::Pool& p);
+#endif
static void encode(unsigned short** dest, const LogString& src,
log4cxx::helpers::Pool& p);
}; // class ODBCAppender
diff --git a/src/test/cpp/filter/mapfiltertest.cpp b/src/test/cpp/filter/mapfiltertest.cpp
index bfb9e53..0b3d620 100644
--- a/src/test/cpp/filter/mapfiltertest.cpp
+++ b/src/test/cpp/filter/mapfiltertest.cpp
@@ -57,8 +57,8 @@
}
/**
- * Check that MapFilter.decide() returns Filter.ACCEPT or Filter.DENY
- * based on Accept on Match setting when key/value does not match
+ * Check that MapFilter.decide() returns Filter.NEUTRAL
+ * when key/value does not match
*/
void test2()
{
@@ -74,10 +74,10 @@
filter->activateOptions(p);
filter->setAcceptOnMatch(true);
- LOGUNIT_ASSERT_EQUAL(Filter::DENY, filter->decide(event));
+ LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event));
filter->setAcceptOnMatch(false);
- LOGUNIT_ASSERT_EQUAL(Filter::ACCEPT, filter->decide(event));
+ LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event));
}
/**
@@ -125,9 +125,9 @@
filter->activateOptions(p);
filter->setMustMatchAll(true); // AND T/F
- LOGUNIT_ASSERT_EQUAL(Filter::DENY, filter->decide(event)); // does not match second
+ LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event)); // does not match second
- filter->setMustMatchAll(false); // OR T/F
+ filter->setMustMatchAll(false); // OR T/F
LOGUNIT_ASSERT_EQUAL(Filter::ACCEPT, filter->decide(event)); // matches first
filter->setKeyValue(LOG4CXX_STR("my.name"), LOG4CXX_STR("Test"));
@@ -135,29 +135,26 @@
filter->setMustMatchAll(true); // AND T/T
LOGUNIT_ASSERT_EQUAL(Filter::ACCEPT, filter->decide(event)); // matches all
- filter->setMustMatchAll(false); // OR T/T
+ filter->setMustMatchAll(false); // OR T/T
LOGUNIT_ASSERT_EQUAL(Filter::ACCEPT, filter->decide(event)); // matches first
filter->setKeyValue(LOG4CXX_STR("my.ip"), LOG4CXX_STR("localhost"));
filter->setMustMatchAll(true); // AND F/T
- LOGUNIT_ASSERT_EQUAL(Filter::DENY, filter->decide(event)); // does not match first
+ LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event)); // does not match first
- filter->setMustMatchAll(false); // OR F/T
+ filter->setMustMatchAll(false); // OR F/T
LOGUNIT_ASSERT_EQUAL(Filter::ACCEPT, filter->decide(event)); // matches second
filter->setKeyValue(LOG4CXX_STR("my.name"), LOG4CXX_STR("Unkonwn"));
filter->setMustMatchAll(true); // AND F/F
- LOGUNIT_ASSERT_EQUAL(Filter::DENY, filter->decide(event)); // does not match first
+ LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event)); // does not match first
- filter->setMustMatchAll(false); // OR F/F
- LOGUNIT_ASSERT_EQUAL(Filter::DENY, filter->decide(event)); // matches none
+ filter->setMustMatchAll(false); // OR F/F
+ LOGUNIT_ASSERT_EQUAL(Filter::NEUTRAL, filter->decide(event)); // matches none
}
};
-
LOGUNIT_TEST_SUITE_REGISTRATION(MapFilterTest);
-
-