Merge ~athos-ribeiro/ubuntu/+source/log4cplus:add-symbols into ubuntu/+source/log4cplus:ubuntu/devel

Proposed by Athos Ribeiro
Status: Merged
Approved by: git-ubuntu bot
Approved revision: not available
Merged at revision: 7d57d7459750bce99d4a819fae0b34119f13394e
Proposed branch: ~athos-ribeiro/ubuntu/+source/log4cplus:add-symbols
Merge into: ubuntu/+source/log4cplus:ubuntu/devel
Diff against target: 1218 lines (+1110/-4)
15 files modified
debian/changelog (+11/-0)
debian/control (+2/-1)
debian/export-map.ld (+9/-0)
debian/liblog4cplus-2.0.5.lintian-overrides (+0/-2)
debian/liblog4cplus-2.0.5.symbols (+807/-0)
debian/liblog4cplus-2.0.5.symbols.optional (+91/-0)
debian/rules (+2/-1)
debian/tests/control (+2/-0)
debian/tests/examples/hello.cpp (+19/-0)
debian/tests/examples/hello.expected (+1/-0)
debian/tests/examples/loglevel.cpp (+55/-0)
debian/tests/examples/loglevel.expected (+33/-0)
debian/tests/examples/macros.cpp (+47/-0)
debian/tests/examples/macros.expected (+14/-0)
debian/tests/run-examples (+17/-0)
Reviewer Review Type Date Requested Status
git-ubuntu bot Approve
Andreas Hasenack Approve
Canonical Server Reporter Pending
Review via email: mp+437047@code.launchpad.net

Description of the change

Adding symbols file to the package as a requirement for its promotion to main.

Since it is yet another main inclusion requirement, I am also adding DEP8 tests to the package as part of this MP. The tests are all based on upstream simple examples and are currently passing locally.

PPA: https://launchpad.net/~athos-ribeiro/+archive/ubuntu/log4cplus-symbols/+packages

To post a comment you must log in.
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Ugh, I have no idea where to begin reviewing the symbols change. What other packages have you inspected so far that have c++ libraries and ship symbols?

Can you do a quick tl;dr on what the problem with c++ symbols is, and the approaches we have to deal with them, considering a sample of such packages that exist in the archive today?

Revision history for this message
Athos Ribeiro (athos-ribeiro) wrote :

I started with both [1] and [2] which are the actual docs for symbols files. [1] has some interesting references for the C++ special case [3].

In special, as described in [4],

> "They also don't use symbol export control, which means that the number of exported symbols is quite large and contains a lot of things leaked from internal objects".

For this specific package, by checking the package changelog and commit history [5], we see that Debian decided to move from an automake/libtool to a cmake/pkgconfig approach.

While both approaches are supported by the upstream project, they claim that autotools is the primary build system for unix like platforms [6].

The issue here is that the upstream project has some filters in place to avoid leaking exported symbols when building with autotools, which is not available for cmake AFAICT. The side effect is that we have lots of symbols leaking. I am addressing the issue with the filter being added in this patch.

There was no single specific package I looked at while preparing this MP. I did use debian code search to check other C++ packages with symbols files using both libtool and pkgconfig. In the end, most if the C++ libs I checked did not ship a symbols file and would just use shlibs instead.

[1] https://wiki.debian.org/UsingSymbolsFiles
[2] https://www.debian.org/doc/debian-policy/ch-sharedlibs.html#the-symbols-system
[3] https://wiki.debian.org/UsingSymbolsFiles#C.2B-.2B-_libraries
[4] https://www.eyrie.org/~eagle/journal/2012-02/001.html
[5] https://salsa.debian.org/debian/log4cplus/-/blob/master/debian/changelog#L47-49
[6] https://salsa.debian.org/debian/log4cplus/-/tree/master/#build-system

Revision history for this message
Andreas Hasenack (ahasenack) wrote (last edit ):

Thanks for the links, I'm going through them all.

So far I got the part about what the (c++) flag means, and how c++filt is used in this whole process.

Now checking the particularities of this package regarding all that. Stay tuned.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

So when using autotools, the libtool -export-symbols-regex flag is used, with a value of just 'log4cplus'. I also checked, and couldn't find something equivalent in the cmake world, unless maybe we make it call libtool/ltmain.sh at some point, which sounds risky, unless we are sure about where to make that call in the whole build process.

Then indeed, the other option is a linker flag, and gnu's ld has --version-script which can be given a map file. I had never heard about this before, good job :)

I found this documentation about it: https://www.gnu.org/software/gnulib/manual/html_node/LD-Version-Scripts.html

I learned that when using the 'extern "C++"' construct the rules apply to the demangled C++ names, which is handy.

But that page doesn't explain the globbing rules, like "*" and "?". The ld manpage also doesn't help much, as it just refers to a section called VERSION for more details, but I couldn't find that section (also not in the info pages).

I then found Ulrich's paper (https://www.akkadia.org/drepper/dsohowto.pdf) on DSO, and it also has some brief examples on ld version scripts.

While I was reading all that, I wrote down some questions that popped to my mind:

- have you done a test build of isc-kea with this new liblog4cplus package with the symbols file? Are the dependencies ok after that, no surprises? Perhaps a test build with its only other rdeps: openvdb?

- have you compared the symbols you get with an autotools build, versus this cmake build with the --version-script? This would require changing the package to use autotools again, then generate its symbols, and then compare. I understand it's a lot of work, but I'm interested to know how you came up with the globbing rules you have in export-map.ld. Did you apply the regexp manually to the generated symbols file and saw what was left?

- Ulrich's paper mentions this bit when it talks about the 'extern "C++"' block:
"""
And one last oddity should be mentioned: currently the linker requires that
there is no semicolon after the last entry in the C++ block.
"""

Granted, this paper is from 2011, so maybe that changed by now, but he means this:

diff --git a/debian/export-map.ld b/debian/export-map.ld
index 10f2924..c0406e8 100644
--- a/debian/export-map.ld
+++ b/debian/export-map.ld
@@ -3,7 +3,7 @@
     # Apply symbols export regex as performed with libtool
     log4cplus*;
     *for?log4cplus*;
- *to?log4cplus*;
+ *to?log4cplus*
   };
   local: *;
 };

Have you seen any issues around that?

In the meantime, I'll keep looking for the specification for this --version-script file contents.

Revision history for this message
Athos Ribeiro (athos-ribeiro) wrote :

Thanks, Andreas.

The official docs for ld are hosted in
https://sourceware.org/binutils/docs-2.40/ld.html. There is a link to this page in the end of the official binutils page at https://www.gnu.org/software/binutils/

In https://sourceware.org/binutils/docs-2.40/ld.html#VERSION, you will find the following snippet:

> The wildcard patterns available are the same as those used in the shell when matching filenames (also known as “globbing”). However, if you specify the symbol name inside double quotes, then the name is treated as literal, rather than as a glob pattern.

Which is the best documentation I could find for the globbing patterns, which should answer your questions regarding the accepted format.

In the same page, right above the paragraph containing that quote above, you will find the following example:

VERS_1.1 {
  global:
   foo1;
  local:
   old*;
   original*;
   new*;
};

VERS_1.2 {
   foo2;
} VERS_1.1;

VERS_2.0 {
   bar1; bar2;
  extern "C++" {
   ns::*;
   "f(int, double)";
  };
} VERS_1.2;

Which does use semicolons after the last entry in a c++ block. I also found no issues with this construct.

As for the test builds, I pushed both kea and openvdb to https://launchpad.net/~athos-ribeiro/+archive/ubuntu/log4cplus-symbols/+packages.

Finally, I did not compare the symbols with the ones exported by autotools. I came up with the globs for the filter by first applying the same regex applied by upstream for the libtool symbols regex param. Then I realized some symbols from other libraries were still leaking, and kept filtering them by extending the version script.

I will work on a local version of the package using autotools and libtool so we can compare the symbol files.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Ok, so this globbing:

  *for?log4cplus*

Is catching stuff like

  typeinfo name for log4cplus::TTCCLayout@Base

And this one:

  *to?log4cplus*

is for things like

  virtual thunk to log4cplus::SocketAppender::ctcGetAccessMutex() const@Base

Revision history for this message
Athos Ribeiro (athos-ribeiro) wrote :
Download full text (4.6 KiB)

I could perform a local build with autotools and libtool. After demangling the new (libtool based) symbols file, here are my findings for the symbols generated in x86_64. It is important to note hera that, for comparison purposes, I just removed the arch specific options from the current (cmake based) symbols file (e.g., (c++|SOMETHING) was converted to (c++) ).

These are the symbols that are only present in the __libtool__ build:

$ comm -13 /tmp/pkgconfig-based.symbols /tmp/libtool-based.symbols
(c++)"std::__future_base::_State_baseV2::_M_do_set(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*)@Base" 2.0.8-1ubuntu1~ppa1
 (c++)"std::once_flag::_Prepare_execution::_Prepare_execution<std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)::{lambda()#1}>(void (std::__future_base::_State_baseV2::*&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*))::{lambda()#1}::_FUN()@Base" 2.0.8-1ubuntu1~ppa1
 (c++)"std::_Sp_make_shared_tag::_S_ti()::__tag@Base" 2.0.8-1ubuntu1~ppa1
 (c++)"typeinfo for std::__future_base::_State_baseV2@Base" 2.0.8-1ubuntu1~ppa1
 (c++)"typeinfo for std::__future_base::_Task_state_base<void ()>@Base" 2.0.8-1ubuntu1~ppa1
 (c++)"typeinfo for std::_Mutex_base<(__gnu_cxx::_Lock_policy)2>@Base" 2.0.8-1ubuntu1~ppa1
 (c++)"typeinfo for std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>@Base" 2.0.8-1ubuntu1~ppa1
 (c++)"typeinfo name for std::__future_base::_Result<void>@Base" 2.0.8-1ubuntu1~ppa1
 (c++)"typeinfo name for std::__future_base::_State_baseV2@Base" 2.0.8-1ubuntu1~ppa1
 (c++)"typeinfo name for std::__future_base::_Task_state_base<void ()>@Base" 2.0.8-1ubuntu1~ppa1
 (c++)"typeinfo name for std::_Mutex_base<(__gnu_cxx::_Lock_policy)2>@Base" 2.0.8-1ubuntu1~ppa1
 (c++)"typeinfo name for std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>@Base" 2.0.8-1ubuntu1~ppa1
 (c++)"typeinfo name for std::_Sp_counted_ptr_inplace<std::packaged_task<void ()>, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>@Base" 2.0.8-1ubuntu1~ppa1
 (c++)"typeinfo name for std::_Sp_make_shared_tag@Base" 2.0.8-1ubuntu1~ppa1
 (c++)"typeinfo name for std::thread::_State_impl<std::thread::_Invoker<std::tuple<progschj::ThreadPool::start_worker(unsigned long, std::unique_lock<std::mutex> const&)::{lambda()#1}> > >@Base" 2.0.8-1ubuntu1~ppa1
 (c++)"void std::__exception_ptr::__dest_thunk<std::future_error>(void*)@Base" 2.0.8-1ubuntu1~ppa1

All of them seem to be leaked symbols (there are no definitions for any o...

Read more...

Revision history for this message
Athos Ribeiro (athos-ribeiro) wrote :

Updated with the new symbols file

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

> Still, the PPA build reports "Performing Test HAVE_ATTRIBUTE_VISIBILITY - Success". However, the
> -fvisibility=hidden flag is not being passed during build time.

I think this is the equivalent of this configure check:
  checking for __attribute__((visibility("default"))) and __attribute__((visibility("hidden")))... yes

CMake defines this option, and looks like it's enabled by default:
option(ENABLE_SYMBOLS_VISIBILITY
  "Enable compiler and platform specific options for symbols visibility"
  ON)

But I don't see it mentioned, or used, anywhere else.

In the autoconf build, I also didn't see the use of the libtool -export-symbols-regex option. It's wrapper in some m4 macro checks, and I think it's only used when "cxx_compiler_vendor" is not gnu nor sun.

And the autotools/autoconf build does set -fvisibility=hidden, whereas cmake does not. So +1 on adding -fvisibility=hidden.

I'll check the added symbols file now.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Thanks Athos, that's a lot of work on this MP, and I learned a lot while reviewing it too.

As discussed, you ran a rebuild of rdeps in a PPA, and also tried the un-rebuilt rdeps live with the rebuilt version of liblog4cplus, to see if they were going to complain about missing symbols, and that all seems fine.

You also filed the FFe[1], and I think the only thing missing now is to mention that bug in the d/changelog file somewhere. And plan on how to send this to Debian :)

Maybe create a Salsa PR while we wait for the FFe approval? Even though it looks like "adding symbols file for a C++ library" is the kind of change that could be rejected right away ;)

+1

1. https://bugs.launchpad.net/ubuntu/+source/log4cplus/+bug/2008730

review: Approve
Revision history for this message
git-ubuntu bot (git-ubuntu-bot) wrote :

Approvers: athos-ribeiro, ahasenack
Uploaders: athos-ribeiro, ahasenack
MP auto-approved

review: Approve
Revision history for this message
Athos Ribeiro (athos-ribeiro) wrote :

Thanks, Andreas!

I mentioned the FFe bug in the changelog for the entry which is actually changing the list of symbols being exported.

I will forward the delta in 2 different MRs (I also already forwarded the dep8 tests in a salsa MR):

 - Setting the -fvisibility=hidden build flag. I should probably forward this upstream as well
 - Symbols files (as you said, this could be rejected right away, but it would be nice to discuss it with the maintainer).

Revision history for this message
Athos Ribeiro (athos-ribeiro) wrote :

Uploaded

Uploading to ubuntu (via ftp to upload.ubuntu.com):
  Uploading log4cplus_2.0.8-1ubuntu1.dsc: done.
  Uploading log4cplus_2.0.8-1ubuntu1.debian.tar.xz: done.
  Uploading log4cplus_2.0.8-1ubuntu1_source.buildinfo: done.
  Uploading log4cplus_2.0.8-1ubuntu1_source.changes: done.
Successfully uploaded packages.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/debian/changelog b/debian/changelog
index 3177ffb..ed74f79 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,14 @@
1log4cplus (2.0.8-1ubuntu1) lunar; urgency=medium
2
3 * d/rules: set the default symbol visibility to hidden. (LP: #2008730)
4 * d/liblog4cplus-2.0.5.symbols*: add symbols files.
5 * Apply filters to exported symbols.
6 * d/liblog4cplus-2.0.5.lintian-overrides: remove lintian overrides for
7 missing symbols file.
8 * d/tests: use upstream examples as DEP8 tests.
9
10 -- Athos Ribeiro <athos.ribeiro@canonical.com> Tue, 07 Feb 2023 08:43:44 -0300
11
1log4cplus (2.0.8-1) unstable; urgency=medium12log4cplus (2.0.8-1) unstable; urgency=medium
213
3 * New upstream version 2.0.814 * New upstream version 2.0.8
diff --git a/debian/control b/debian/control
index 2887695..18718b7 100644
--- a/debian/control
+++ b/debian/control
@@ -1,7 +1,8 @@
1Source: log4cplus1Source: log4cplus
2Section: libs2Section: libs
3Priority: optional3Priority: optional
4Maintainer: Andrew Pollock <apollock@debian.org>4Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
5XSBC-Original-Maintainer: Andrew Pollock <apollock@debian.org>
5Uploaders:6Uploaders:
6 Tobias Frost <tobi@debian.org>7 Tobias Frost <tobi@debian.org>
7Build-Depends:8Build-Depends:
diff --git a/debian/export-map.ld b/debian/export-map.ld
8new file mode 1006449new file mode 100644
index 0000000..10f2924
--- /dev/null
+++ b/debian/export-map.ld
@@ -0,0 +1,9 @@
1{
2 global: extern "C++" {
3 # Apply symbols export regex as performed with libtool
4 log4cplus*;
5 *for?log4cplus*;
6 *to?log4cplus*;
7 };
8 local: *;
9};
diff --git a/debian/liblog4cplus-2.0.5.lintian-overrides b/debian/liblog4cplus-2.0.5.lintian-overrides
index fc9039b..f51da92 100644
--- a/debian/liblog4cplus-2.0.5.lintian-overrides
+++ b/debian/liblog4cplus-2.0.5.lintian-overrides
@@ -1,4 +1,2 @@
1# Upstream does not maintain an intended SO Name, so using package version as substitute.1# Upstream does not maintain an intended SO Name, so using package version as substitute.
2liblog4cplus-2.0.5: package-name-doesnt-match-sonames liblog4cplus-2.0-32liblog4cplus-2.0.5: package-name-doesnt-match-sonames liblog4cplus-2.0-3
3# Not doing symbols files for C++ libraries.
4liblog4cplus-2.0.5: no-symbols-control-file usr/lib/x86_64-linux-gnu/liblog4cplus-2.0.so.3.4.*
diff --git a/debian/liblog4cplus-2.0.5.symbols b/debian/liblog4cplus-2.0.5.symbols
5new file mode 1006443new file mode 100644
index 0000000..5f57784
--- /dev/null
+++ b/debian/liblog4cplus-2.0.5.symbols
@@ -0,0 +1,807 @@
1liblog4cplus-2.0.so.3 liblog4cplus-2.0.5 #MINVER#
2* Build-Depends-Package: liblog4cplus-dev
3 (c++)"log4cplus::Appender::addFilter(log4cplus::helpers::SharedObjectPtr<log4cplus::spi::Filter>)@Base" 2.0.8
4 (c++)"log4cplus::Appender::addFilter(std::function<log4cplus::spi::FilterResult (log4cplus::spi::InternalLoggingEvent const&)>)@Base" 2.0.8
5 (c++)"log4cplus::Appender::~Appender()@Base" 2.0.8
6 (c++)"log4cplus::Appender::Appender()@Base" 2.0.8
7 (c++)"log4cplus::Appender::Appender(log4cplus::helpers::Properties const&)@Base" 2.0.8
8 (c++)"log4cplus::Appender::asyncDoAppend(log4cplus::spi::InternalLoggingEvent const&)@Base" 2.0.8
9 (c++)"log4cplus::Appender::destructorImpl()@Base" 2.0.8
10 (c++)"log4cplus::Appender::doAppend(log4cplus::spi::InternalLoggingEvent const&)@Base" 2.0.8
11 (c++)"log4cplus::Appender::formatEvent[abi:cxx11](log4cplus::spi::InternalLoggingEvent const&) const@Base" 2.0.8
12 (c++)"log4cplus::Appender::getErrorHandler()@Base" 2.0.8
13 (c++)"log4cplus::Appender::getFilter() const@Base" 2.0.8
14 (c++)"log4cplus::Appender::getLayout()@Base" 2.0.8
15 (c++)"log4cplus::Appender::getName[abi:cxx11]()@Base" 2.0.8
16 (c++)"log4cplus::Appender::isClosed() const@Base" 2.0.8
17 (c++)"log4cplus::Appender::setErrorHandler(std::unique_ptr<log4cplus::ErrorHandler, std::default_delete<log4cplus::ErrorHandler> >)@Base" 2.0.8
18 (c++)"log4cplus::Appender::setFilter(log4cplus::helpers::SharedObjectPtr<log4cplus::spi::Filter>)@Base" 2.0.8
19 (c++)"log4cplus::Appender::setLayout(std::unique_ptr<log4cplus::Layout, std::default_delete<log4cplus::Layout> >)@Base" 2.0.8
20 (c++)"log4cplus::Appender::setName(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
21 (c++)"log4cplus::Appender::subtract_in_flight()@Base" 2.0.8
22 (c++)"log4cplus::Appender::syncDoAppend(log4cplus::spi::InternalLoggingEvent const&)@Base" 2.0.8
23 (c++)"log4cplus::Appender::waitToFinishAsyncLogging()@Base" 2.0.8
24 (c++)"log4cplus::AsyncAppender::append(log4cplus::spi::InternalLoggingEvent const&)@Base" 2.0.8
25 (c++)"log4cplus::AsyncAppender::~AsyncAppender()@Base" 2.0.8
26 (c++)"log4cplus::AsyncAppender::AsyncAppender(log4cplus::helpers::Properties const&)@Base" 2.0.8
27 (c++)"log4cplus::AsyncAppender::AsyncAppender(log4cplus::helpers::SharedObjectPtr<log4cplus::Appender> const&, unsigned int)@Base" 2.0.8
28 (c++)"log4cplus::AsyncAppender::close()@Base" 2.0.8
29 (c++)"log4cplus::AsyncAppender::init_queue_thread(unsigned int)@Base" 2.0.8
30 (c++)"log4cplus::BasicConfigurator::~BasicConfigurator()@Base" 2.0.8
31 (c++)"log4cplus::BasicConfigurator::BasicConfigurator(log4cplus::Hierarchy&, bool)@Base" 2.0.8
32 (c++)"log4cplus::BasicConfigurator::doConfigure(log4cplus::Hierarchy&, bool)@Base" 2.0.8
33 (c++)"log4cplus::CallbackAppender::append(log4cplus::spi::InternalLoggingEvent const&)@Base" 2.0.8
34 (c++)"log4cplus::CallbackAppender::~CallbackAppender()@Base" 2.0.8
35 (c++)"log4cplus::CallbackAppender::CallbackAppender()@Base" 2.0.8
36 (c++)"log4cplus::CallbackAppender::CallbackAppender(log4cplus::helpers::Properties const&)@Base" 2.0.8
37 (c++)"log4cplus::CallbackAppender::CallbackAppender(void (*)(void*, char const*, char const*, int, char const*, char const*, unsigned long long, unsigned long, char const*, char const*, int), void*)@Base" 2.0.8
38 (c++)"log4cplus::CallbackAppender::close()@Base" 2.0.8
39 (c++)"log4cplus::ConfigureAndWatchThread::~ConfigureAndWatchThread()@Base" 2.0.8
40 (c++)"log4cplus::ConfigureAndWatchThread::ConfigureAndWatchThread(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int)@Base" 2.0.8
41 (c++)"log4cplus::ConsoleAppender::append(log4cplus::spi::InternalLoggingEvent const&)@Base" 2.0.8
42 (c++)"log4cplus::ConsoleAppender::close()@Base" 2.0.8
43 (c++)"log4cplus::ConsoleAppender::~ConsoleAppender()@Base" 2.0.8
44 (c++)"log4cplus::ConsoleAppender::ConsoleAppender(bool, bool)@Base" 2.0.8
45 (c++)"log4cplus::ConsoleAppender::ConsoleAppender(log4cplus::helpers::Properties const&)@Base" 2.0.8
46 (c++)"log4cplus::ConsoleAppender::getOutputMutex()@Base" 2.0.8
47 (c++)"log4cplus::DailyRollingFileAppender::append(log4cplus::spi::InternalLoggingEvent const&)@Base" 2.0.8
48 (c++)"log4cplus::DailyRollingFileAppender::close()@Base" 2.0.8
49 (c++)"log4cplus::DailyRollingFileAppender::~DailyRollingFileAppender()@Base" 2.0.8
50 (c++)"log4cplus::DailyRollingFileAppender::DailyRollingFileAppender(log4cplus::helpers::Properties const&)@Base" 2.0.8
51 (c++)"log4cplus::DailyRollingFileAppender::DailyRollingFileAppender(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, log4cplus::DailyRollingFileSchedule, bool, int, bool, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
52 (c++)"log4cplus::DailyRollingFileAppender::rollover(bool)@Base" 2.0.8
53 (c++)"log4cplus::DefaultLoggerFactory::makeNewLoggerImplInstance(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, log4cplus::Hierarchy&)@Base" 2.0.8
54 (c++)"log4cplus::DefaultLoggerFactory::makeNewLoggerInstance(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, log4cplus::Hierarchy&)@Base" 2.0.8
55 (c++)"log4cplus::deinitialize()@Base" 2.0.8
56 (c++)"log4cplus::detail::clear_tostringstream(std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >&)@Base" 2.0.8
57 (c++)"log4cplus::detail::get_macro_body_oss[abi:cxx11]()@Base" 2.0.8
58 (c++)"log4cplus::detail::get_macro_body_snprintf_buf()@Base" 2.0.8
59 (c++)"log4cplus::detail::macro_forced_log(log4cplus::Logger const&, int, char const*, char const*, int, char const*)@Base" 2.0.8
60 (c++)"log4cplus::detail::macro_forced_log(log4cplus::Logger const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)@Base" 2.0.8
61 (c++)"log4cplus::DiagnosticContext::DiagnosticContext(char const*)@Base" 2.0.8
62 (c++)"log4cplus::DiagnosticContext::DiagnosticContext(char const*, log4cplus::DiagnosticContext const*)@Base" 2.0.8
63 (c++)"log4cplus::DiagnosticContext::DiagnosticContext(log4cplus::DiagnosticContext&&)@Base" 2.0.8
64 (c++)"log4cplus::DiagnosticContext::DiagnosticContext(log4cplus::DiagnosticContext const&)@Base" 2.0.8
65 (c++)"log4cplus::DiagnosticContext::DiagnosticContext(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
66 (c++)"log4cplus::DiagnosticContext::DiagnosticContext(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, log4cplus::DiagnosticContext const*)@Base" 2.0.8
67 (c++)"log4cplus::DiagnosticContext::operator=(log4cplus::DiagnosticContext&&)@Base" 2.0.8
68 (c++)"log4cplus::DiagnosticContext::operator=(log4cplus::DiagnosticContext const&)@Base" 2.0.8
69 (c++)"log4cplus::DiagnosticContext::swap(log4cplus::DiagnosticContext&)@Base" 2.0.8
70 (c++)"log4cplus::ErrorHandler::~ErrorHandler()@Base" 2.0.8
71 (c++)"log4cplus::ErrorHandler::ErrorHandler()@Base" 2.0.8
72 (c++)"log4cplus::FileAppenderBase::append(log4cplus::spi::InternalLoggingEvent const&)@Base" 2.0.8
73 (c++)"log4cplus::FileAppenderBase::close()@Base" 2.0.8
74 (c++)"log4cplus::FileAppenderBase::FileAppenderBase(log4cplus::helpers::Properties const&, std::_Ios_Openmode)@Base" 2.0.8
75 (c++)"log4cplus::FileAppenderBase::FileAppenderBase(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::_Ios_Openmode, bool, bool)@Base" 2.0.8
76 (c++)"log4cplus::FileAppenderBase::getloc() const@Base" 2.0.8
77 (c++)"log4cplus::FileAppenderBase::imbue(std::locale const&)@Base" 2.0.8
78 (c++)"log4cplus::FileAppenderBase::init()@Base" 2.0.8
79 (c++)"log4cplus::FileAppenderBase::open(std::_Ios_Openmode)@Base" 2.0.8
80 (c++)"log4cplus::FileAppenderBase::reopen()@Base" 2.0.8
81 (c++)"log4cplus::FileAppender::~FileAppender()@Base" 2.0.8
82 (c++)"log4cplus::FileAppender::FileAppender(log4cplus::helpers::Properties const&, std::_Ios_Openmode)@Base" 2.0.8
83 (c++)"log4cplus::FileAppender::FileAppender(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::_Ios_Openmode, bool, bool)@Base" 2.0.8
84 (c++)"log4cplus::FileAppender::init()@Base" 2.0.8
85 (c++)"log4cplus::getDefaultHierarchy()@Base" 2.0.8
86 (c++)"log4cplus::getLogLevelManager()@Base" 2.0.8
87 (c++)"log4cplus::getMDC()@Base" 2.0.8
88 (c++)"log4cplus::getNDC()@Base" 2.0.8
89 (c++)"log4cplus::getTTCCLayoutTimeBase()@Base" 2.0.8
90 (c++)"log4cplus::helpers::AbstractSocket::~AbstractSocket()@Base" 2.0.8
91 (c++)"log4cplus::helpers::AbstractSocket::AbstractSocket()@Base" 2.0.8
92 (c++)"log4cplus::helpers::AbstractSocket::AbstractSocket(log4cplus::helpers::AbstractSocket&&)@Base" 2.0.8
93 (c++)"log4cplus::helpers::AbstractSocket::close()@Base" 2.0.8
94 (c++)"log4cplus::helpers::AbstractSocket::isOpen() const@Base" 2.0.8
95 (c++)"log4cplus::helpers::AbstractSocket::operator=(log4cplus::helpers::AbstractSocket&&)@Base" 2.0.8
96 (c++)"log4cplus::helpers::AbstractSocket::shutdown()@Base" 2.0.8
97 (c++)"log4cplus::helpers::AbstractSocket::swap(log4cplus::helpers::AbstractSocket&)@Base" 2.0.8
98 (c++)"log4cplus::helpers::AppenderAttachableImpl::addAppender(log4cplus::helpers::SharedObjectPtr<log4cplus::Appender>)@Base" 2.0.8
99 (c++)"log4cplus::helpers::AppenderAttachableImpl::~AppenderAttachableImpl()@Base" 2.0.8
100 (c++)"log4cplus::helpers::AppenderAttachableImpl::AppenderAttachableImpl()@Base" 2.0.8
101 (c++)"log4cplus::helpers::AppenderAttachableImpl::appendLoopOnAppenders(log4cplus::spi::InternalLoggingEvent const&) const@Base" 2.0.8
102 (c++)"log4cplus::helpers::AppenderAttachableImpl::getAllAppenders()@Base" 2.0.8
103 (c++)"log4cplus::helpers::AppenderAttachableImpl::getAppender(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
104 (c++)"log4cplus::helpers::AppenderAttachableImpl::removeAllAppenders()@Base" 2.0.8
105 (c++)"log4cplus::helpers::AppenderAttachableImpl::removeAppender(log4cplus::helpers::SharedObjectPtr<log4cplus::Appender>)@Base" 2.0.8
106 (c++)"log4cplus::helpers::AppenderAttachableImpl::removeAppender(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
107 (c++)"log4cplus::helpers::ConnectorThread::~ConnectorThread()@Base" 2.0.8
108 (c++)"log4cplus::helpers::ConnectorThread::ConnectorThread(log4cplus::helpers::IConnectorThreadClient&)@Base" 2.0.8
109 (c++)"log4cplus::helpers::ConnectorThread::run()@Base" 2.0.8
110 (c++)"log4cplus::helpers::ConnectorThread::terminate()@Base" 2.0.8
111 (c++)"log4cplus::helpers::ConnectorThread::trigger()@Base" 2.0.8
112 (c++)"log4cplus::helpers::connectSocket(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned short, bool, bool, log4cplus::helpers::SocketState&)@Base" 2.0.8
113 (c++)"log4cplus::helpers::convertToBuffer(log4cplus::helpers::SocketBuffer&, log4cplus::spi::InternalLoggingEvent const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
114 (c++)"log4cplus::helpers::from_struct_tm(tm*)@Base" 2.0.8
115 (c++)"log4cplus::helpers::getFileInfo(log4cplus::helpers::FileInfo*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
116 (c++)"log4cplus::helpers::getHostname[abi:cxx11](bool)@Base" 2.0.8
117 (c++)"log4cplus::helpers::getLogLog()@Base" 2.0.8
118 (c++)"log4cplus::helpers::IConnectorThreadClient::~IConnectorThreadClient()@Base" 2.0.8
119 (c++)"log4cplus::helpers::INVALID_SOCKET_VALUE@Base" 2.0.8
120 (c++)"log4cplus::helpers::LockFile::close() const@Base" 2.0.8
121 (c++)"log4cplus::helpers::LockFile::lock() const@Base" 2.0.8
122 (c++)"log4cplus::helpers::LockFile::~LockFile()@Base" 2.0.8
123 (c++)"log4cplus::helpers::LockFile::LockFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)@Base" 2.0.8
124 (c++)"log4cplus::helpers::LockFile::open(int) const@Base" 2.0.8
125 (c++)"log4cplus::helpers::LockFile::unlock() const@Base" 2.0.8
126 (c++)"log4cplus::helpers::LogLog::debug(char const*) const@Base" 2.0.8
127 (c++)"log4cplus::helpers::LogLog::debug(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 2.0.8
128 (c++)"log4cplus::helpers::LogLog::error(char const*, bool) const@Base" 2.0.8
129 (c++)"log4cplus::helpers::LogLog::error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const@Base" 2.0.8
130 (c++)"log4cplus::helpers::LogLog::getLogLog()@Base" 2.0.8
131 (c++)"log4cplus::helpers::LogLog::~LogLog()@Base" 2.0.8
132 (c++)"log4cplus::helpers::LogLog::LogLog()@Base" 2.0.8
133 (c++)"log4cplus::helpers::LogLog::setInternalDebugging(bool)@Base" 2.0.8
134 (c++)"log4cplus::helpers::LogLog::setQuietMode(bool)@Base" 2.0.8
135 (c++)"log4cplus::helpers::LogLog::warn(char const*) const@Base" 2.0.8
136 (c++)"log4cplus::helpers::LogLog::warn(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 2.0.8
137 (c++)"log4cplus::helpers::openSocket(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned short, bool, bool, log4cplus::helpers::SocketState&)@Base" 2.0.8
138 (c++)"log4cplus::helpers::openSocket(unsigned short, bool, bool, log4cplus::helpers::SocketState&)@Base" 2.0.8
139 (c++)"log4cplus::helpers::Properties::exists(char const*) const@Base" 2.0.8
140 (c++)"log4cplus::helpers::Properties::exists(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 2.0.8
141 (c++)"log4cplus::helpers::Properties::getBool(bool&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 2.0.8
142 (c++)"log4cplus::helpers::Properties::getInt(int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 2.0.8
143 (c++)"log4cplus::helpers::Properties::getLong(long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 2.0.8
144 (c++)"log4cplus::helpers::Properties::getProperty[abi:cxx11](char const*) const@Base" 2.0.8
145 (c++)"log4cplus::helpers::Properties::getProperty(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 2.0.8
146 (c++)"log4cplus::helpers::Properties::getProperty(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 2.0.8
147 (c++)"log4cplus::helpers::Properties::getPropertySubset(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 2.0.8
148 (c++)"log4cplus::helpers::Properties::getString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 2.0.8
149 (c++)"log4cplus::helpers::Properties::getUInt(unsigned int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 2.0.8
150 (c++)"log4cplus::helpers::Properties::getULong(unsigned long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 2.0.8
151 (c++)"log4cplus::helpers::Properties::init(std::basic_istream<char, std::char_traits<char> >&)@Base" 2.0.8
152 (c++)"log4cplus::helpers::Properties::~Properties()@Base" 2.0.8
153 (c++)"log4cplus::helpers::Properties::Properties()@Base" 2.0.8
154 (c++)"log4cplus::helpers::Properties::PROPERTIES_COMMENT_CHAR@Base" 2.0.8
155 (c++)"log4cplus::helpers::Properties::Properties(std::basic_istream<char, std::char_traits<char> >&)@Base" 2.0.8
156 (c++)"log4cplus::helpers::Properties::Properties(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int)@Base" 2.0.8
157 (c++)"log4cplus::helpers::Properties::propertyNames[abi:cxx11]() const@Base" 2.0.8
158 (c++)"log4cplus::helpers::Properties::removeProperty(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
159 (c++)"log4cplus::helpers::Properties::setProperty(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
160 (c++)"log4cplus::helpers::readFromBuffer(log4cplus::helpers::SocketBuffer&)@Base" 2.0.8
161 (c++)"log4cplus::helpers::ServerSocket::accept()@Base" 2.0.8
162 (c++)"log4cplus::helpers::ServerSocket::interruptAccept()@Base" 2.0.8
163 (c++)"log4cplus::helpers::ServerSocket::operator=(log4cplus::helpers::ServerSocket&&)@Base" 2.0.8
164 (c++)"log4cplus::helpers::ServerSocket::~ServerSocket()@Base" 2.0.8
165 (c++)"log4cplus::helpers::ServerSocket::ServerSocket(log4cplus::helpers::ServerSocket&&)@Base" 2.0.8
166 (c++)"log4cplus::helpers::ServerSocket::ServerSocket(unsigned short, bool, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
167 (c++)"log4cplus::helpers::ServerSocket::swap(log4cplus::helpers::ServerSocket&)@Base" 2.0.8
168 (c++)"log4cplus::helpers::SharedObject::addReference() const@Base" 2.0.8
169 (c++)"log4cplus::helpers::SharedObject::removeReference() const@Base" 2.0.8
170 (c++)"log4cplus::helpers::SharedObject::~SharedObject()@Base" 2.0.8
171 (c++)"log4cplus::helpers::snprintf_buf::print(char const*, ...)@Base" 2.0.8
172 (c++)"log4cplus::helpers::snprintf_buf::snprintf_buf()@Base" 2.0.8
173 (c++)"log4cplus::helpers::SocketBuffer::appendBuffer(log4cplus::helpers::SocketBuffer const&)@Base" 2.0.8
174 (c++)"log4cplus::helpers::SocketBuffer::appendByte(unsigned char)@Base" 2.0.8
175 (c++)"log4cplus::helpers::SocketBuffer::appendInt(unsigned int)@Base" 2.0.8
176 (c++)"log4cplus::helpers::SocketBuffer::appendShort(unsigned short)@Base" 2.0.8
177 (c++)"log4cplus::helpers::SocketBuffer::appendString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
178 (c++)"log4cplus::helpers::SocketBuffer::readByte()@Base" 2.0.8
179 (c++)"log4cplus::helpers::SocketBuffer::readInt()@Base" 2.0.8
180 (c++)"log4cplus::helpers::SocketBuffer::readShort()@Base" 2.0.8
181 (c++)"log4cplus::helpers::SocketBuffer::readString[abi:cxx11](unsigned char)@Base" 2.0.8
182 (c++)"log4cplus::helpers::SocketBuffer::~SocketBuffer()@Base" 2.0.8
183 (c++)"log4cplus::helpers::Socket::operator=(log4cplus::helpers::Socket&&)@Base" 2.0.8
184 (c++)"log4cplus::helpers::Socket::read(log4cplus::helpers::SocketBuffer&)@Base" 2.0.8
185 (c++)"log4cplus::helpers::Socket::~Socket()@Base" 2.0.8
186 (c++)"log4cplus::helpers::Socket::Socket()@Base" 2.0.8
187 (c++)"log4cplus::helpers::Socket::Socket(log4cplus::helpers::Socket&&)@Base" 2.0.8
188 (c++)"log4cplus::helpers::Socket::Socket(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned short, bool, bool)@Base" 2.0.8
189 (c++)"log4cplus::helpers::Socket::write(log4cplus::helpers::SocketBuffer const&)@Base" 2.0.8
190 (c++)"log4cplus::helpers::Socket::write(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
191 (c++)"log4cplus::helpers::toLower(char)@Base" 2.0.8
192 (c++)"log4cplus::helpers::toLower(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
193 (c++)"log4cplus::helpers::tostring[abi:cxx11](wchar_t const*)@Base" 2.0.8
194 (c++)"log4cplus::helpers::tostring(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)@Base" 2.0.8
195 (c++)"log4cplus::helpers::toUpper(char)@Base" 2.0.8
196 (c++)"log4cplus::helpers::toUpper(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
197 (c++)"log4cplus::helpers::towstring[abi:cxx11](char const*)@Base" 2.0.8
198 (c++)"log4cplus::helpers::towstring(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
199 (c++)"log4cplus::Hierarchy::clear()@Base" 2.0.8
200 (c++)"log4cplus::Hierarchy::disableAll()@Base" 2.0.8
201 (c++)"log4cplus::Hierarchy::disableDebug()@Base" 2.0.8
202 (c++)"log4cplus::Hierarchy::disableInfo()@Base" 2.0.8
203 (c++)"log4cplus::Hierarchy::disable(int)@Base" 2.0.8
204 (c++)"log4cplus::Hierarchy::DISABLE_OFF@Base" 2.0.8
205 (c++)"log4cplus::Hierarchy::DISABLE_OVERRIDE@Base" 2.0.8
206 (c++)"log4cplus::Hierarchy::disable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
207 (c++)"log4cplus::Hierarchy::enableAll()@Base" 2.0.8
208 (c++)"log4cplus::Hierarchy::exists(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
209 (c++)"log4cplus::Hierarchy::getCurrentLoggers()@Base" 2.0.8
210 (c++)"log4cplus::Hierarchy::getInstance(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
211 (c++)"log4cplus::Hierarchy::getInstance(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, log4cplus::spi::LoggerFactory&)@Base" 2.0.8
212 (c++)"log4cplus::Hierarchy::getLoggerFactory()@Base" 2.0.8
213 (c++)"log4cplus::Hierarchy::getRoot() const@Base" 2.0.8
214 (c++)"log4cplus::Hierarchy::~Hierarchy()@Base" 2.0.8
215 (c++)"log4cplus::Hierarchy::Hierarchy()@Base" 2.0.8
216 (c++)"log4cplus::Hierarchy::isDisabled(int)@Base" 2.0.8
217 (c++)"log4cplus::HierarchyLocker::addAppender(log4cplus::Logger&, log4cplus::helpers::SharedObjectPtr<log4cplus::Appender>&)@Base" 2.0.8
218 (c++)"log4cplus::HierarchyLocker::getInstance(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
219 (c++)"log4cplus::HierarchyLocker::getInstance(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, log4cplus::spi::LoggerFactory&)@Base" 2.0.8
220 (c++)"log4cplus::HierarchyLocker::~HierarchyLocker()@Base" 2.0.8
221 (c++)"log4cplus::HierarchyLocker::HierarchyLocker(log4cplus::Hierarchy&)@Base" 2.0.8
222 (c++)"log4cplus::HierarchyLocker::resetConfiguration()@Base" 2.0.8
223 (c++)"log4cplus::Hierarchy::resetConfiguration()@Base" 2.0.8
224 (c++)"log4cplus::Hierarchy::setLoggerFactory(std::unique_ptr<log4cplus::spi::LoggerFactory, std::default_delete<log4cplus::spi::LoggerFactory> >)@Base" 2.0.8
225 (c++)"log4cplus::Hierarchy::shutdown()@Base" 2.0.8
226 (c++)"log4cplus::initialize()@Base" 2.0.8
227 (c++)"log4cplus::Initializer::~Initializer()@Base" 2.0.8
228 (c++)"log4cplus::Initializer::Initializer()@Base" 2.0.8
229 (c++)"log4cplus::Layout::~Layout()@Base" 2.0.8
230 (c++)"log4cplus::Layout::Layout()@Base" 2.0.8
231 (c++)"log4cplus::Layout::Layout(log4cplus::helpers::Properties const&)@Base" 2.0.8
232 (c++)"log4cplus::Log4jUdpAppender::append(log4cplus::spi::InternalLoggingEvent const&)@Base" 2.0.8
233 (c++)"log4cplus::Log4jUdpAppender::close()@Base" 2.0.8
234 (c++)"log4cplus::Log4jUdpAppender::~Log4jUdpAppender()@Base" 2.0.8
235 (c++)"log4cplus::Log4jUdpAppender::Log4jUdpAppender(log4cplus::helpers::Properties const&)@Base" 2.0.8
236 (c++)"log4cplus::Log4jUdpAppender::Log4jUdpAppender(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, bool)@Base" 2.0.8
237 (c++)"log4cplus::Log4jUdpAppender::openSocket()@Base" 2.0.8
238 (c++)"log4cplus::Logger::addAppender(log4cplus::helpers::SharedObjectPtr<log4cplus::Appender>)@Base" 2.0.8
239 (c++)"log4cplus::Logger::assertion(bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 2.0.8
240 (c++)"log4cplus::Logger::callAppenders(log4cplus::spi::InternalLoggingEvent const&) const@Base" 2.0.8
241 (c++)"log4cplus::Logger::closeNestedAppenders() const@Base" 2.0.8
242 (c++)"log4cplus::Logger::exists(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
243 (c++)"log4cplus::Logger::forcedLog(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*) const@Base" 2.0.8
244 (c++)"log4cplus::Logger::forcedLog(log4cplus::spi::InternalLoggingEvent const&) const@Base" 2.0.8
245 (c++)"log4cplus::Logger::getAdditivity() const@Base" 2.0.8
246 (c++)"log4cplus::Logger::getAllAppenders()@Base" 2.0.8
247 (c++)"log4cplus::Logger::getAppender(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
248 (c++)"log4cplus::Logger::getChainedLogLevel() const@Base" 2.0.8
249 (c++)"log4cplus::Logger::getCurrentLoggers()@Base" 2.0.8
250 (c++)"log4cplus::Logger::getDefaultHierarchy()@Base" 2.0.8
251 (c++)"log4cplus::Logger::getHierarchy() const@Base" 2.0.8
252 (c++)"log4cplus::Logger::getInstance(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
253 (c++)"log4cplus::Logger::getInstance(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, log4cplus::spi::LoggerFactory&)@Base" 2.0.8
254 (c++)"log4cplus::Logger::getLogLevel() const@Base" 2.0.8
255 (c++)"log4cplus::Logger::getName[abi:cxx11]() const@Base" 2.0.8
256 (c++)"log4cplus::Logger::getParent() const@Base" 2.0.8
257 (c++)"log4cplus::Logger::getRoot()@Base" 2.0.8
258 (c++)"log4cplus::Logger::isEnabledFor(int) const@Base" 2.0.8
259 (c++)"log4cplus::Logger::~Logger()@Base" 2.0.8
260 (c++)"log4cplus::Logger::Logger()@Base" 2.0.8
261 (c++)"log4cplus::Logger::Logger(log4cplus::Logger&&)@Base" 2.0.8
262 (c++)"log4cplus::Logger::Logger(log4cplus::Logger const&)@Base" 2.0.8
263 (c++)"log4cplus::Logger::Logger(log4cplus::spi::LoggerImpl*)@Base" 2.0.8
264 (c++)"log4cplus::Logger::log(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*) const@Base" 2.0.8
265 (c++)"log4cplus::Logger::log(log4cplus::spi::InternalLoggingEvent const&) const@Base" 2.0.8
266 (c++)"log4cplus::Logger::operator=(log4cplus::Logger&&)@Base" 2.0.8
267 (c++)"log4cplus::Logger::operator=(log4cplus::Logger const&)@Base" 2.0.8
268 (c++)"log4cplus::Logger::removeAllAppenders()@Base" 2.0.8
269 (c++)"log4cplus::Logger::removeAppender(log4cplus::helpers::SharedObjectPtr<log4cplus::Appender>)@Base" 2.0.8
270 (c++)"log4cplus::Logger::removeAppender(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
271 (c++)"log4cplus::Logger::setAdditivity(bool)@Base" 2.0.8
272 (c++)"log4cplus::Logger::setLogLevel(int)@Base" 2.0.8
273 (c++)"log4cplus::Logger::shutdown()@Base" 2.0.8
274 (c++)"log4cplus::Logger::swap(log4cplus::Logger&)@Base" 2.0.8
275 (c++)"log4cplus::LogLevelManager::fromString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 2.0.8
276 (c++)"log4cplus::LogLevelManager::~LogLevelManager()@Base" 2.0.8
277 (c++)"log4cplus::LogLevelManager::LogLevelManager()@Base" 2.0.8
278 (c++)"log4cplus::LogLevelManager::LogLevelToStringMethodRec::LogLevelToStringMethodRec()@Base" 2.0.8
279 (c++)"log4cplus::LogLevelManager::LogLevelToStringMethodRec::LogLevelToStringMethodRec(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const& (*)(int))@Base" 2.0.8
280 (c++)"log4cplus::LogLevelManager::pushFromStringMethod(int (*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&))@Base" 2.0.8
281 (c++)"log4cplus::LogLevelManager::pushToStringMethod(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const& (*)(int))@Base" 2.0.8
282 (c++)"log4cplus::LogLevelManager::toString[abi:cxx11](int) const@Base" 2.0.8
283 (c++)"log4cplus::MDC::clear()@Base" 2.0.8
284 (c++)"log4cplus::MDC::getContext[abi:cxx11]() const@Base" 2.0.8
285 (c++)"log4cplus::MDC::get(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 2.0.8
286 (c++)"log4cplus::MDC::~MDC()@Base" 2.0.8
287 (c++)"log4cplus::MDC::MDC()@Base" 2.0.8
288 (c++)"log4cplus::MDC::put(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
289 (c++)"log4cplus::MDC::remove(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
290 (c++)"log4cplus::NDC::clear()@Base" 2.0.8
291 (c++)"log4cplus::NDC::cloneStack() const@Base" 2.0.8
292 (c++)"log4cplus::NDCContextCreator::~NDCContextCreator()@Base" 2.0.8
293 (c++)"log4cplus::NDCContextCreator::NDCContextCreator(char const*)@Base" 2.0.8
294 (c++)"log4cplus::NDCContextCreator::NDCContextCreator(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
295 (c++)"log4cplus::NDC::get[abi:cxx11]() const@Base" 2.0.8
296 (c++)"log4cplus::NDC::getDepth() const@Base" 2.0.8
297 (c++)"log4cplus::NDC::inherit(std::deque<log4cplus::DiagnosticContext, std::allocator<log4cplus::DiagnosticContext> > const&)@Base" 2.0.8
298 (c++)"log4cplus::NDC::~NDC()@Base" 2.0.8
299 (c++)"log4cplus::NDC::NDC()@Base" 2.0.8
300 (c++)"log4cplus::NDC::peek[abi:cxx11]() const@Base" 2.0.8
301 (c++)"log4cplus::NDC::pop[abi:cxx11]()@Base" 2.0.8
302 (c++)"log4cplus::NDC::pop_void()@Base" 2.0.8
303 (c++)"log4cplus::NDC::push(char const*)@Base" 2.0.8
304 (c++)"log4cplus::NDC::push(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
305 (c++)"log4cplus::NDC::remove()@Base" 2.0.8
306 (c++)"log4cplus::NullAppender::append(log4cplus::spi::InternalLoggingEvent const&)@Base" 2.0.8
307 (c++)"log4cplus::NullAppender::close()@Base" 2.0.8
308 (c++)"log4cplus::NullAppender::~NullAppender()@Base" 2.0.8
309 (c++)"log4cplus::NullAppender::NullAppender()@Base" 2.0.8
310 (c++)"log4cplus::NullAppender::NullAppender(log4cplus::helpers::Properties const&)@Base" 2.0.8
311 (c++)"log4cplus::OnlyOnceErrorHandler::error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
312 (c++)"log4cplus::OnlyOnceErrorHandler::~OnlyOnceErrorHandler()@Base" 2.0.8
313 (c++)"log4cplus::OnlyOnceErrorHandler::OnlyOnceErrorHandler()@Base" 2.0.8
314 (c++)"log4cplus::OnlyOnceErrorHandler::reset()@Base" 2.0.8
315 (c++)"log4cplus::PatternLayout::formatAndAppend(std::basic_ostream<char, std::char_traits<char> >&, log4cplus::spi::InternalLoggingEvent const&)@Base" 2.0.8
316 (c++)"log4cplus::PatternLayout::init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int)@Base" 2.0.8
317 (c++)"log4cplus::PatternLayout::~PatternLayout()@Base" 2.0.8
318 (c++)"log4cplus::PatternLayout::PatternLayout(log4cplus::helpers::Properties const&)@Base" 2.0.8
319 (c++)"log4cplus::PatternLayout::PatternLayout(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
320 (c++)"log4cplus::PropertyConfigurator::addAppender(log4cplus::Logger&, log4cplus::helpers::SharedObjectPtr<log4cplus::Appender>&)@Base" 2.0.8
321 (c++)"log4cplus::PropertyConfigurator::configureAdditivity()@Base" 2.0.8
322 (c++)"log4cplus::PropertyConfigurator::configureAppenders()@Base" 2.0.8
323 (c++)"log4cplus::PropertyConfigurator::configure()@Base" 2.0.8
324 (c++)"log4cplus::PropertyConfigurator::configureLogger(log4cplus::Logger, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
325 (c++)"log4cplus::PropertyConfigurator::configureLoggers()@Base" 2.0.8
326 (c++)"log4cplus::PropertyConfigurator::doConfigure(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, log4cplus::Hierarchy&, unsigned int)@Base" 2.0.8
327 (c++)"log4cplus::PropertyConfigurator::getLogger(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
328 (c++)"log4cplus::PropertyConfigurator::getProperties() const@Base" 2.0.8
329 (c++)"log4cplus::PropertyConfigurator::getPropertyFilename[abi:cxx11]() const@Base" 2.0.8
330 (c++)"log4cplus::PropertyConfigurator::init()@Base" 2.0.8
331 (c++)"log4cplus::PropertyConfigurator::~PropertyConfigurator()@Base" 2.0.8
332 (c++)"log4cplus::PropertyConfigurator::PropertyConfigurator(log4cplus::helpers::Properties const&, log4cplus::Hierarchy&, unsigned int)@Base" 2.0.8
333 (c++)"log4cplus::PropertyConfigurator::PropertyConfigurator(std::basic_istream<char, std::char_traits<char> >&, log4cplus::Hierarchy&, unsigned int)@Base" 2.0.8
334 (c++)"log4cplus::PropertyConfigurator::PropertyConfigurator(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, log4cplus::Hierarchy&, unsigned int)@Base" 2.0.8
335 (c++)"log4cplus::PropertyConfigurator::reconfigure()@Base" 2.0.8
336 (c++)"log4cplus::PropertyConfigurator::replaceEnvironVariables()@Base" 2.0.8
337 (c++)"log4cplus::RollingFileAppender::append(log4cplus::spi::InternalLoggingEvent const&)@Base" 2.0.8
338 (c++)"log4cplus::RollingFileAppender::~RollingFileAppender()@Base" 2.0.8
339 (c++)"log4cplus::RollingFileAppender::RollingFileAppender(log4cplus::helpers::Properties const&)@Base" 2.0.8
340 (c++)"log4cplus::RollingFileAppender::RollingFileAppender(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, int, bool, bool)@Base" 2.0.8
341 (c++)"log4cplus::RollingFileAppender::rollover(bool)@Base" 2.0.8
342 (c++)"log4cplus::SimpleLayout::formatAndAppend(std::basic_ostream<char, std::char_traits<char> >&, log4cplus::spi::InternalLoggingEvent const&)@Base" 2.0.8
343 (c++)"log4cplus::SimpleLayout::~SimpleLayout()@Base" 2.0.8
344 (c++)"log4cplus::SimpleLayout::SimpleLayout()@Base" 2.0.8
345 (c++)"log4cplus::SimpleLayout::SimpleLayout(log4cplus::helpers::Properties const&)@Base" 2.0.8
346 (c++)"log4cplus::SocketAppender::append(log4cplus::spi::InternalLoggingEvent const&)@Base" 2.0.8
347 (c++)"log4cplus::SocketAppender::close()@Base" 2.0.8
348 (c++)"log4cplus::SocketAppender::ctcConnect()@Base" 2.0.8
349 (c++)"log4cplus::SocketAppender::ctcGetAccessMutex() const@Base" 2.0.8
350 (c++)"log4cplus::SocketAppender::ctcGetSocket()@Base" 2.0.8
351 (c++)"log4cplus::SocketAppender::ctcSetConnected()@Base" 2.0.8
352 (c++)"log4cplus::SocketAppender::initConnector()@Base" 2.0.8
353 (c++)"log4cplus::SocketAppender::openSocket()@Base" 2.0.8
354 (c++)"log4cplus::SocketAppender::~SocketAppender()@Base" 2.0.8
355 (c++)"log4cplus::SocketAppender::SocketAppender(log4cplus::helpers::Properties const&)@Base" 2.0.8
356 (c++)"log4cplus::SocketAppender::SocketAppender(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned short, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)@Base" 2.0.8
357 (c++)"log4cplus::spi::AppenderAttachable::~AppenderAttachable()@Base" 2.0.8
358 (c++)"log4cplus::spi::AppenderFactory::~AppenderFactory()@Base" 2.0.8
359 (c++)"log4cplus::spi::AppenderFactory::AppenderFactory()@Base" 2.0.8
360 (c++)"log4cplus::spi::BaseFactory::~BaseFactory()@Base" 2.0.8
361 (c++)"log4cplus::spi::checkFilter(log4cplus::spi::Filter const*, log4cplus::spi::InternalLoggingEvent const&)@Base" 2.0.8
362 (c++)"log4cplus::spi::DenyAllFilter::decide(log4cplus::spi::InternalLoggingEvent const&) const@Base" 2.0.8
363 (c++)"log4cplus::spi::DenyAllFilter::DenyAllFilter()@Base" 2.0.8
364 (c++)"log4cplus::spi::DenyAllFilter::DenyAllFilter(log4cplus::helpers::Properties const&)@Base" 2.0.8
365 (c++)"log4cplus::spi::Filter::appendFilter(log4cplus::helpers::SharedObjectPtr<log4cplus::spi::Filter>)@Base" 2.0.8
366 (c++)"log4cplus::spi::FilterFactory::~FilterFactory()@Base" 2.0.8
367 (c++)"log4cplus::spi::FilterFactory::FilterFactory()@Base" 2.0.8
368 (c++)"log4cplus::spi::Filter::~Filter()@Base" 2.0.8
369 (c++)"log4cplus::spi::Filter::Filter()@Base" 2.0.8
370 (c++)"log4cplus::spi::FunctionFilter::decide(log4cplus::spi::InternalLoggingEvent const&) const@Base" 2.0.8
371 (c++)"log4cplus::spi::FunctionFilter::FunctionFilter(std::function<log4cplus::spi::FilterResult (log4cplus::spi::InternalLoggingEvent const&)>)@Base" 2.0.8
372 (c++)"log4cplus::spi::getAppenderFactoryRegistry()@Base" 2.0.8
373 (c++)"log4cplus::spi::getFilterFactoryRegistry()@Base" 2.0.8
374 (c++)"log4cplus::spi::getLayoutFactoryRegistry()@Base" 2.0.8
375 (c++)"log4cplus::spi::getLocaleFactoryRegistry()@Base" 2.0.8
376 (c++)"log4cplus::spi::InternalLoggingEvent::clone() const@Base" 2.0.8
377 (c++)"log4cplus::spi::InternalLoggingEvent::gatherThreadSpecificData() const@Base" 2.0.8
378 (c++)"log4cplus::spi::InternalLoggingEvent::getDefaultType()@Base" 2.0.8
379 (c++)"log4cplus::spi::InternalLoggingEvent::getMDC(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 2.0.8
380 (c++)"log4cplus::spi::InternalLoggingEvent::getMessage[abi:cxx11]() const@Base" 2.0.8
381 (c++)"log4cplus::spi::InternalLoggingEvent::getType() const@Base" 2.0.8
382 (c++)"log4cplus::spi::InternalLoggingEvent::~InternalLoggingEvent()@Base" 2.0.8
383 (c++)"log4cplus::spi::InternalLoggingEvent::InternalLoggingEvent()@Base" 2.0.8
384 (c++)"log4cplus::spi::InternalLoggingEvent::InternalLoggingEvent(log4cplus::spi::InternalLoggingEvent const&)@Base" 2.0.8
385 (c++)"log4cplus::spi::InternalLoggingEvent::InternalLoggingEvent(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)@Base" 2.0.8
386 (c++)"log4cplus::spi::InternalLoggingEvent::operator=(log4cplus::spi::InternalLoggingEvent const&)@Base" 2.0.8
387 (c++)"log4cplus::spi::InternalLoggingEvent::setFunction(char const*)@Base" 2.0.8
388 (c++)"log4cplus::spi::InternalLoggingEvent::setFunction(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
389 (c++)"log4cplus::spi::InternalLoggingEvent::setLoggingEvent(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)@Base" 2.0.8
390 (c++)"log4cplus::spi::InternalLoggingEvent::swap(log4cplus::spi::InternalLoggingEvent&)@Base" 2.0.8
391 (c++)"log4cplus::spi::LayoutFactory::~LayoutFactory()@Base" 2.0.8
392 (c++)"log4cplus::spi::LayoutFactory::LayoutFactory()@Base" 2.0.8
393 (c++)"log4cplus::spi::LocaleFactory::~LocaleFactory()@Base" 2.0.8
394 (c++)"log4cplus::spi::LocaleFactory::LocaleFactory()@Base" 2.0.8
395 (c++)"log4cplus::spi::LoggerFactory::~LoggerFactory()@Base" 2.0.8
396 (c++)"log4cplus::spi::LoggerImpl::callAppenders(log4cplus::spi::InternalLoggingEvent const&)@Base" 2.0.8
397 (c++)"log4cplus::spi::LoggerImpl::closeNestedAppenders()@Base" 2.0.8
398 (c++)"log4cplus::spi::LoggerImpl::forcedLog(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)@Base" 2.0.8
399 (c++)"log4cplus::spi::LoggerImpl::forcedLog(log4cplus::spi::InternalLoggingEvent const&)@Base" 2.0.8
400 (c++)"log4cplus::spi::LoggerImpl::getAdditivity() const@Base" 2.0.8
401 (c++)"log4cplus::spi::LoggerImpl::getChainedLogLevel() const@Base" 2.0.8
402 (c++)"log4cplus::spi::LoggerImpl::getHierarchy() const@Base" 2.0.8
403 (c++)"log4cplus::spi::LoggerImpl::isEnabledFor(int) const@Base" 2.0.8
404 (c++)"log4cplus::spi::LoggerImpl::~LoggerImpl()@Base" 2.0.8
405 (c++)"log4cplus::spi::LoggerImpl::LoggerImpl(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, log4cplus::Hierarchy&)@Base" 2.0.8
406 (c++)"log4cplus::spi::LoggerImpl::log(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, int, char const*)@Base" 2.0.8
407 (c++)"log4cplus::spi::LoggerImpl::log(log4cplus::spi::InternalLoggingEvent const&)@Base" 2.0.8
408 (c++)"log4cplus::spi::LoggerImpl::setAdditivity(bool)@Base" 2.0.8
409 (c++)"log4cplus::spi::LogLevelMatchFilter::decide(log4cplus::spi::InternalLoggingEvent const&) const@Base" 2.0.8
410 (c++)"log4cplus::spi::LogLevelMatchFilter::LogLevelMatchFilter()@Base" 2.0.8
411 (c++)"log4cplus::spi::LogLevelMatchFilter::LogLevelMatchFilter(log4cplus::helpers::Properties const&)@Base" 2.0.8
412 (c++)"log4cplus::spi::LogLevelRangeFilter::decide(log4cplus::spi::InternalLoggingEvent const&) const@Base" 2.0.8
413 (c++)"log4cplus::spi::LogLevelRangeFilter::LogLevelRangeFilter()@Base" 2.0.8
414 (c++)"log4cplus::spi::LogLevelRangeFilter::LogLevelRangeFilter(log4cplus::helpers::Properties const&)@Base" 2.0.8
415 (c++)"log4cplus::spi::MDCMatchFilter::decide(log4cplus::spi::InternalLoggingEvent const&) const@Base" 2.0.8
416 (c++)"log4cplus::spi::MDCMatchFilter::MDCMatchFilter()@Base" 2.0.8
417 (c++)"log4cplus::spi::MDCMatchFilter::MDCMatchFilter(log4cplus::helpers::Properties const&)@Base" 2.0.8
418 (c++)"log4cplus::spi::NDCMatchFilter::decide(log4cplus::spi::InternalLoggingEvent const&) const@Base" 2.0.8
419 (c++)"log4cplus::spi::NDCMatchFilter::NDCMatchFilter()@Base" 2.0.8
420 (c++)"log4cplus::spi::NDCMatchFilter::NDCMatchFilter(log4cplus::helpers::Properties const&)@Base" 2.0.8
421 (c++)"log4cplus::spi::ObjectRegistryBase::clear()@Base" 2.0.8
422 (c++)"log4cplus::spi::ObjectRegistryBase::_enableLocking(bool)@Base" 2.0.8
423 (c++)"log4cplus::spi::ObjectRegistryBase::exists(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 2.0.8
424 (c++)"log4cplus::spi::ObjectRegistryBase::getAllNames[abi:cxx11]() const@Base" 2.0.8
425 (c++)"log4cplus::spi::ObjectRegistryBase::getVal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 2.0.8
426 (c++)"log4cplus::spi::ObjectRegistryBase::~ObjectRegistryBase()@Base" 2.0.8
427 (c++)"log4cplus::spi::ObjectRegistryBase::ObjectRegistryBase()@Base" 2.0.8
428 (c++)"log4cplus::spi::ObjectRegistryBase::putVal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, void*)@Base" 2.0.8
429 (c++)"log4cplus::spi::RootLogger::getChainedLogLevel() const@Base" 2.0.8
430 (c++)"log4cplus::spi::RootLogger::RootLogger(log4cplus::Hierarchy&, int)@Base" 2.0.8
431 (c++)"log4cplus::spi::RootLogger::setLogLevel(int)@Base" 2.0.8
432 (c++)"log4cplus::spi::StringMatchFilter::decide(log4cplus::spi::InternalLoggingEvent const&) const@Base" 2.0.8
433 (c++)"log4cplus::spi::StringMatchFilter::StringMatchFilter()@Base" 2.0.8
434 (c++)"log4cplus::spi::StringMatchFilter::StringMatchFilter(log4cplus::helpers::Properties const&)@Base" 2.0.8
435 (c++)"log4cplus::SysLogAppender::appendLocal(log4cplus::spi::InternalLoggingEvent const&)@Base" 2.0.8
436 (c++)"log4cplus::SysLogAppender::append(log4cplus::spi::InternalLoggingEvent const&)@Base" 2.0.8
437 (c++)"log4cplus::SysLogAppender::appendRemote(log4cplus::spi::InternalLoggingEvent const&)@Base" 2.0.8
438 (c++)"log4cplus::SysLogAppender::close()@Base" 2.0.8
439 (c++)"log4cplus::SysLogAppender::ctcConnect()@Base" 2.0.8
440 (c++)"log4cplus::SysLogAppender::ctcGetAccessMutex() const@Base" 2.0.8
441 (c++)"log4cplus::SysLogAppender::ctcGetSocket()@Base" 2.0.8
442 (c++)"log4cplus::SysLogAppender::ctcSetConnected()@Base" 2.0.8
443 (c++)"log4cplus::SysLogAppender::getSysLogLevel(int const&) const@Base" 2.0.8
444 (c++)"log4cplus::SysLogAppender::initConnector()@Base" 2.0.8
445 (c++)"log4cplus::SysLogAppender::openSocket()@Base" 2.0.8
446 (c++)"log4cplus::SysLogAppender::remoteTimeFormat[abi:cxx11]@Base" 2.0.8
447 (c++)"log4cplus::SysLogAppender::~SysLogAppender()@Base" 2.0.8
448 (c++)"log4cplus::SysLogAppender::SysLogAppender(log4cplus::helpers::Properties const&)@Base" 2.0.8
449 (c++)"log4cplus::SysLogAppender::SysLogAppender(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
450 (c++)"log4cplus::SysLogAppender::SysLogAppender(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, log4cplus::SysLogAppender::RemoteSyslogType, bool)@Base" 2.0.8
451 (c++)"log4cplus::tcerr@Base" 2.0.8
452 (c++)"log4cplus::tcout@Base" 2.0.8
453 (c++)"log4cplus::thread::AbstractThread::~AbstractThread()@Base" 2.0.8
454 (c++)"log4cplus::thread::AbstractThread::AbstractThread()@Base" 2.0.8
455 (c++)"log4cplus::thread::AbstractThread::isRunning() const@Base" 2.0.8
456 (c++)"log4cplus::thread::AbstractThread::join() const@Base" 2.0.8
457 (c++)"log4cplus::thread::AbstractThread::start()@Base" 2.0.8
458 (c++)"log4cplus::thread::blockAllSignals()@Base" 2.0.8
459 (c++)"log4cplus::threadCleanup()@Base" 2.0.8
460 (c++)"log4cplus::thread::getCurrentThreadName2[abi:cxx11]()@Base" 2.0.8
461 (c++)"log4cplus::thread::getCurrentThreadName[abi:cxx11]()@Base" 2.0.8
462 (c++)"log4cplus::thread::impl::syncprims_throw_exception(char const*, char const*, int)@Base" 2.0.8
463 (c++)"log4cplus::thread::ManualResetEvent::~ManualResetEvent()@Base" 2.0.8
464 (c++)"log4cplus::thread::ManualResetEvent::ManualResetEvent(bool)@Base" 2.0.8
465 (c++)"log4cplus::thread::ManualResetEvent::reset() const@Base" 2.0.8
466 (c++)"log4cplus::thread::ManualResetEvent::signal() const@Base" 2.0.8
467 (c++)"log4cplus::thread::ManualResetEvent::timed_wait(unsigned long) const@Base" 2.0.8
468 (c++)"log4cplus::thread::ManualResetEvent::wait() const@Base" 2.0.8
469 (c++)"log4cplus::thread::Mutex::lock() const@Base" 2.0.8
470 (c++)"log4cplus::thread::Mutex::~Mutex()@Base" 2.0.8
471 (c++)"log4cplus::thread::Mutex::Mutex()@Base" 2.0.8
472 (c++)"log4cplus::thread::Mutex::unlock() const@Base" 2.0.8
473 (c++)"log4cplus::thread::Queue::get_events(std::deque<log4cplus::spi::InternalLoggingEvent, std::allocator<log4cplus::spi::InternalLoggingEvent> >*)@Base" 2.0.8
474 (c++)"log4cplus::thread::Queue::put_event(log4cplus::spi::InternalLoggingEvent const&)@Base" 2.0.8
475 (c++)"log4cplus::thread::Queue::~Queue()@Base" 2.0.8
476 (c++)"log4cplus::thread::Queue::Queue(unsigned int)@Base" 2.0.8
477 (c++)"log4cplus::thread::Queue::signal_exit(bool)@Base" 2.0.8
478 (c++)"log4cplus::thread::Semaphore::lock() const@Base" 2.0.8
479 (c++)"log4cplus::thread::Semaphore::~Semaphore()@Base" 2.0.8
480 (c++)"log4cplus::thread::Semaphore::Semaphore(unsigned int, unsigned int)@Base" 2.0.8
481 (c++)"log4cplus::thread::Semaphore::unlock() const@Base" 2.0.8
482 (c++)"log4cplus::thread::setCurrentThreadName2(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
483 (c++)"log4cplus::thread::setCurrentThreadName(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
484 (c++)"log4cplus::thread::SharedMutex::rdlock() const@Base" 2.0.8
485 (c++)"log4cplus::thread::SharedMutex::rdunlock() const@Base" 2.0.8
486 (c++)"log4cplus::thread::SharedMutex::~SharedMutex()@Base" 2.0.8
487 (c++)"log4cplus::thread::SharedMutex::SharedMutex()@Base" 2.0.8
488 (c++)"log4cplus::thread::SharedMutex::wrlock() const@Base" 2.0.8
489 (c++)"log4cplus::thread::SharedMutex::wrunlock() const@Base" 2.0.8
490 (c++)"log4cplus::thread::SignalsBlocker::~SignalsBlocker()@Base" 2.0.8
491 (c++)"log4cplus::thread::SignalsBlocker::SignalsBlocker()@Base" 2.0.8
492 (c++)"log4cplus::thread::yield()@Base" 2.0.8
493 (c++)"log4cplus::TimeBasedRollingFileAppender::append(log4cplus::spi::InternalLoggingEvent const&)@Base" 2.0.8
494 (c++)"log4cplus::TimeBasedRollingFileAppender::calculateNextRolloverTime(std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long long, std::ratio<1l, 1000000l> > > const&) const@Base" 2.0.8
495 (c++)"log4cplus::TimeBasedRollingFileAppender::clean(std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long long, std::ratio<1l, 1000000l> > >)@Base" 2.0.8
496 (c++)"log4cplus::TimeBasedRollingFileAppender::close()@Base" 2.0.8
497 (c++)"log4cplus::TimeBasedRollingFileAppender::getRolloverPeriodDuration() const@Base" 2.0.8
498 (c++)"log4cplus::TimeBasedRollingFileAppender::open(std::_Ios_Openmode)@Base" 2.0.8
499 (c++)"log4cplus::TimeBasedRollingFileAppender::rollover(bool)@Base" 2.0.8
500 (c++)"log4cplus::TimeBasedRollingFileAppender::~TimeBasedRollingFileAppender()@Base" 2.0.8
501 (c++)"log4cplus::TimeBasedRollingFileAppender::TimeBasedRollingFileAppender(log4cplus::helpers::Properties const&)@Base" 2.0.8
502 (c++)"log4cplus::TimeBasedRollingFileAppender::TimeBasedRollingFileAppender(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, bool, bool, bool, bool)@Base" 2.0.8
503 (c++)"log4cplus::TTCCLayout::formatAndAppend(std::basic_ostream<char, std::char_traits<char> >&, log4cplus::spi::InternalLoggingEvent const&)@Base" 2.0.8
504 (c++)"log4cplus::TTCCLayout::getCategoryPrefixing() const@Base" 2.0.8
505 (c++)"log4cplus::TTCCLayout::getContextPrinting() const@Base" 2.0.8
506 (c++)"log4cplus::TTCCLayout::getThreadPrinting() const@Base" 2.0.8
507 (c++)"log4cplus::TTCCLayout::setCategoryPrefixing(bool)@Base" 2.0.8
508 (c++)"log4cplus::TTCCLayout::setContextPrinting(bool)@Base" 2.0.8
509 (c++)"log4cplus::TTCCLayout::setThreadPrinting(bool)@Base" 2.0.8
510 (c++)"log4cplus::TTCCLayout::~TTCCLayout()@Base" 2.0.8
511 (c++)"log4cplus::TTCCLayout::TTCCLayout(bool, bool, bool, bool)@Base" 2.0.8
512 (c++)"log4cplus::TTCCLayout::TTCCLayout(log4cplus::helpers::Properties const&)@Base" 2.0.8
513 (c++)"log4cplus::version@Base" 2.0.8
514 (c++)"log4cplus::versionStr@Base" 2.0.8
515 (c++)"non-virtual thunk to log4cplus::AsyncAppender::~AsyncAppender()@Base" 2.0.8
516 (c++)"typeinfo for log4cplus::Appender@Base" 2.0.8
517 (c++)"typeinfo for log4cplus::AsyncAppender@Base" 2.0.8
518 (c++)"typeinfo for log4cplus::BasicConfigurator@Base" 2.0.8
519 (c++)"typeinfo for log4cplus::CallbackAppender@Base" 2.0.8
520 (c++)"typeinfo for log4cplus::ConfigureAndWatchThread@Base" 2.0.8
521 (c++)"typeinfo for log4cplus::ConsoleAppender@Base" 2.0.8
522 (c++)"typeinfo for log4cplus::DailyRollingFileAppender@Base" 2.0.8
523 (c++)"typeinfo for log4cplus::DefaultLoggerFactory@Base" 2.0.8
524 (c++)"typeinfo for log4cplus::ErrorHandler@Base" 2.0.8
525 (c++)"typeinfo for log4cplus::FileAppender@Base" 2.0.8
526 (c++)"typeinfo for log4cplus::FileAppenderBase@Base" 2.0.8
527 (c++)"typeinfo for log4cplus::helpers::AbstractSocket@Base" 2.0.8
528 (c++)"typeinfo for log4cplus::helpers::AppenderAttachableImpl@Base" 2.0.8
529 (c++)"typeinfo for log4cplus::helpers::ConnectorThread@Base" 2.0.8
530 (c++)"typeinfo for log4cplus::helpers::IConnectorThreadClient@Base" 2.0.8
531 (c++)"typeinfo for log4cplus::helpers::LogLog@Base" 2.0.8
532 (c++)"typeinfo for log4cplus::helpers::Properties@Base" 2.0.8
533 (c++)"typeinfo for log4cplus::helpers::ServerSocket@Base" 2.0.8
534 (c++)"typeinfo for log4cplus::helpers::SharedObject@Base" 2.0.8
535 (c++)"typeinfo for log4cplus::helpers::Socket@Base" 2.0.8
536 (c++)"typeinfo for log4cplus::helpers::SocketBuffer@Base" 2.0.8
537 (c++)"typeinfo for log4cplus::Hierarchy@Base" 2.0.8
538 (c++)"typeinfo for log4cplus::Layout@Base" 2.0.8
539 (c++)"typeinfo for log4cplus::Log4jUdpAppender@Base" 2.0.8
540 (c++)"typeinfo for log4cplus::Logger@Base" 2.0.8
541 (c++)"typeinfo for log4cplus::MDC@Base" 2.0.8
542 (c++)"typeinfo for log4cplus::NDC@Base" 2.0.8
543 (c++)"typeinfo for log4cplus::NullAppender@Base" 2.0.8
544 (c++)"typeinfo for log4cplus::OnlyOnceErrorHandler@Base" 2.0.8
545 (c++)"typeinfo for log4cplus::PatternLayout@Base" 2.0.8
546 (c++)"typeinfo for log4cplus::PropertyConfigurator@Base" 2.0.8
547 (c++)"typeinfo for log4cplus::RollingFileAppender@Base" 2.0.8
548 (c++)"typeinfo for log4cplus::SimpleLayout@Base" 2.0.8
549 (c++)"typeinfo for log4cplus::SocketAppender@Base" 2.0.8
550 (c++)"typeinfo for log4cplus::spi::AppenderAttachable@Base" 2.0.8
551 (c++)"typeinfo for log4cplus::spi::AppenderFactory@Base" 2.0.8
552 (c++)"typeinfo for log4cplus::spi::BaseFactory@Base" 2.0.8
553 (c++)"typeinfo for log4cplus::spi::DenyAllFilter@Base" 2.0.8
554 (c++)"typeinfo for log4cplus::spi::Filter@Base" 2.0.8
555 (c++)"typeinfo for log4cplus::spi::FilterFactory@Base" 2.0.8
556 (c++)"typeinfo for log4cplus::spi::FunctionFilter@Base" 2.0.8
557 (c++)"typeinfo for log4cplus::spi::InternalLoggingEvent@Base" 2.0.8
558 (c++)"typeinfo for log4cplus::spi::LayoutFactory@Base" 2.0.8
559 (c++)"typeinfo for log4cplus::spi::LocaleFactory@Base" 2.0.8
560 (c++)"typeinfo for log4cplus::spi::LoggerFactory@Base" 2.0.8
561 (c++)"typeinfo for log4cplus::spi::LoggerImpl@Base" 2.0.8
562 (c++)"typeinfo for log4cplus::spi::LogLevelMatchFilter@Base" 2.0.8
563 (c++)"typeinfo for log4cplus::spi::LogLevelRangeFilter@Base" 2.0.8
564 (c++)"typeinfo for log4cplus::spi::MDCMatchFilter@Base" 2.0.8
565 (c++)"typeinfo for log4cplus::spi::NDCMatchFilter@Base" 2.0.8
566 (c++)"typeinfo for log4cplus::spi::ObjectRegistryBase@Base" 2.0.8
567 (c++)"typeinfo for log4cplus::spi::RootLogger@Base" 2.0.8
568 (c++)"typeinfo for log4cplus::spi::StringMatchFilter@Base" 2.0.8
569 (c++)"typeinfo for log4cplus::SysLogAppender@Base" 2.0.8
570 (c++)"typeinfo for log4cplus::thread::AbstractThread@Base" 2.0.8
571 (c++)"typeinfo for log4cplus::thread::Queue@Base" 2.0.8
572 (c++)"typeinfo for log4cplus::TimeBasedRollingFileAppender@Base" 2.0.8
573 (c++)"typeinfo for log4cplus::TTCCLayout@Base" 2.0.8
574 (c++)"typeinfo name for log4cplus::Appender@Base" 2.0.8
575 (c++)"typeinfo name for log4cplus::AsyncAppender@Base" 2.0.8
576 (c++)"typeinfo name for log4cplus::BasicConfigurator@Base" 2.0.8
577 (c++)"typeinfo name for log4cplus::CallbackAppender@Base" 2.0.8
578 (c++)"typeinfo name for log4cplus::ConfigureAndWatchThread@Base" 2.0.8
579 (c++)"typeinfo name for log4cplus::ConsoleAppender@Base" 2.0.8
580 (c++)"typeinfo name for log4cplus::DailyRollingFileAppender@Base" 2.0.8
581 (c++)"typeinfo name for log4cplus::DefaultLoggerFactory@Base" 2.0.8
582 (c++)"typeinfo name for log4cplus::ErrorHandler@Base" 2.0.8
583 (c++)"typeinfo name for log4cplus::FileAppender@Base" 2.0.8
584 (c++)"typeinfo name for log4cplus::FileAppenderBase@Base" 2.0.8
585 (c++)"typeinfo name for log4cplus::helpers::AbstractSocket@Base" 2.0.8
586 (c++)"typeinfo name for log4cplus::helpers::AppenderAttachableImpl@Base" 2.0.8
587 (c++)"typeinfo name for log4cplus::helpers::ConnectorThread@Base" 2.0.8
588 (c++)"typeinfo name for log4cplus::helpers::IConnectorThreadClient@Base" 2.0.8
589 (c++)"typeinfo name for log4cplus::helpers::LogLog@Base" 2.0.8
590 (c++)"typeinfo name for log4cplus::helpers::Properties@Base" 2.0.8
591 (c++)"typeinfo name for log4cplus::helpers::ServerSocket@Base" 2.0.8
592 (c++)"typeinfo name for log4cplus::helpers::SharedObject@Base" 2.0.8
593 (c++)"typeinfo name for log4cplus::helpers::Socket@Base" 2.0.8
594 (c++)"typeinfo name for log4cplus::helpers::SocketBuffer@Base" 2.0.8
595 (c++)"typeinfo name for log4cplus::Hierarchy@Base" 2.0.8
596 (c++)"typeinfo name for log4cplus::Layout@Base" 2.0.8
597 (c++)"typeinfo name for log4cplus::Log4jUdpAppender@Base" 2.0.8
598 (c++)"typeinfo name for log4cplus::Logger@Base" 2.0.8
599 (c++)"typeinfo name for log4cplus::MDC@Base" 2.0.8
600 (c++)"typeinfo name for log4cplus::NDC@Base" 2.0.8
601 (c++)"typeinfo name for log4cplus::NullAppender@Base" 2.0.8
602 (c++)"typeinfo name for log4cplus::OnlyOnceErrorHandler@Base" 2.0.8
603 (c++)"typeinfo name for log4cplus::PatternLayout@Base" 2.0.8
604 (c++)"typeinfo name for log4cplus::PropertyConfigurator@Base" 2.0.8
605 (c++)"typeinfo name for log4cplus::RollingFileAppender@Base" 2.0.8
606 (c++)"typeinfo name for log4cplus::SimpleLayout@Base" 2.0.8
607 (c++)"typeinfo name for log4cplus::SocketAppender@Base" 2.0.8
608 (c++)"typeinfo name for log4cplus::spi::AppenderAttachable@Base" 2.0.8
609 (c++)"typeinfo name for log4cplus::spi::AppenderFactory@Base" 2.0.8
610 (c++)"typeinfo name for log4cplus::spi::BaseFactory@Base" 2.0.8
611 (c++)"typeinfo name for log4cplus::spi::DenyAllFilter@Base" 2.0.8
612 (c++)"typeinfo name for log4cplus::spi::FactoryRegistry<log4cplus::spi::AppenderFactory>@Base" 2.0.8
613 (c++)"typeinfo name for log4cplus::spi::FactoryRegistry<log4cplus::spi::FilterFactory>@Base" 2.0.8
614 (c++)"typeinfo name for log4cplus::spi::FactoryRegistry<log4cplus::spi::LayoutFactory>@Base" 2.0.8
615 (c++)"typeinfo name for log4cplus::spi::FactoryRegistry<log4cplus::spi::LocaleFactory>@Base" 2.0.8
616 (c++)"typeinfo name for log4cplus::spi::Filter@Base" 2.0.8
617 (c++)"typeinfo name for log4cplus::spi::FilterFactory@Base" 2.0.8
618 (c++)"typeinfo name for log4cplus::spi::FunctionFilter@Base" 2.0.8
619 (c++)"typeinfo name for log4cplus::spi::InternalLoggingEvent@Base" 2.0.8
620 (c++)"typeinfo name for log4cplus::spi::LayoutFactory@Base" 2.0.8
621 (c++)"typeinfo name for log4cplus::spi::LocaleFactory@Base" 2.0.8
622 (c++)"typeinfo name for log4cplus::spi::LoggerFactory@Base" 2.0.8
623 (c++)"typeinfo name for log4cplus::spi::LoggerImpl@Base" 2.0.8
624 (c++)"typeinfo name for log4cplus::spi::LogLevelMatchFilter@Base" 2.0.8
625 (c++)"typeinfo name for log4cplus::spi::LogLevelRangeFilter@Base" 2.0.8
626 (c++)"typeinfo name for log4cplus::spi::MDCMatchFilter@Base" 2.0.8
627 (c++)"typeinfo name for log4cplus::spi::NDCMatchFilter@Base" 2.0.8
628 (c++)"typeinfo name for log4cplus::spi::ObjectRegistryBase@Base" 2.0.8
629 (c++)"typeinfo name for log4cplus::spi::RootLogger@Base" 2.0.8
630 (c++)"typeinfo name for log4cplus::spi::StringMatchFilter@Base" 2.0.8
631 (c++)"typeinfo name for log4cplus::SysLogAppender@Base" 2.0.8
632 (c++)"typeinfo name for log4cplus::thread::AbstractThread@Base" 2.0.8
633 (c++)"typeinfo name for log4cplus::thread::Queue@Base" 2.0.8
634 (c++)"typeinfo name for log4cplus::TimeBasedRollingFileAppender@Base" 2.0.8
635 (c++)"typeinfo name for log4cplus::TTCCLayout@Base" 2.0.8
636 (c++)"virtual thunk to log4cplus::Appender::~Appender()@Base" 2.0.8
637 (c++)"virtual thunk to log4cplus::AsyncAppender::~AsyncAppender()@Base" 2.0.8
638 (c++)"virtual thunk to log4cplus::CallbackAppender::~CallbackAppender()@Base" 2.0.8
639 (c++)"virtual thunk to log4cplus::ConsoleAppender::~ConsoleAppender()@Base" 2.0.8
640 (c++)"virtual thunk to log4cplus::DailyRollingFileAppender::~DailyRollingFileAppender()@Base" 2.0.8
641 (c++)"virtual thunk to log4cplus::FileAppender::~FileAppender()@Base" 2.0.8
642 (c++)"virtual thunk to log4cplus::helpers::ConnectorThread::~ConnectorThread()@Base" 2.0.8
643 (c++)"virtual thunk to log4cplus::Log4jUdpAppender::~Log4jUdpAppender()@Base" 2.0.8
644 (c++)"virtual thunk to log4cplus::NullAppender::~NullAppender()@Base" 2.0.8
645 (c++)"virtual thunk to log4cplus::RollingFileAppender::~RollingFileAppender()@Base" 2.0.8
646 (c++)"virtual thunk to log4cplus::SocketAppender::ctcConnect()@Base" 2.0.8
647 (c++)"virtual thunk to log4cplus::SocketAppender::ctcGetAccessMutex() const@Base" 2.0.8
648 (c++)"virtual thunk to log4cplus::SocketAppender::ctcGetSocket()@Base" 2.0.8
649 (c++)"virtual thunk to log4cplus::SocketAppender::ctcSetConnected()@Base" 2.0.8
650 (c++)"virtual thunk to log4cplus::SocketAppender::~SocketAppender()@Base" 2.0.8
651 (c++)"virtual thunk to log4cplus::spi::Filter::~Filter()@Base" 2.0.8
652 (c++)"virtual thunk to log4cplus::spi::LoggerImpl::~LoggerImpl()@Base" 2.0.8
653 (c++)"virtual thunk to log4cplus::SysLogAppender::ctcConnect()@Base" 2.0.8
654 (c++)"virtual thunk to log4cplus::SysLogAppender::ctcGetAccessMutex() const@Base" 2.0.8
655 (c++)"virtual thunk to log4cplus::SysLogAppender::ctcGetSocket()@Base" 2.0.8
656 (c++)"virtual thunk to log4cplus::SysLogAppender::ctcSetConnected()@Base" 2.0.8
657 (c++)"virtual thunk to log4cplus::SysLogAppender::~SysLogAppender()@Base" 2.0.8
658 (c++)"virtual thunk to log4cplus::thread::AbstractThread::~AbstractThread()@Base" 2.0.8
659 (c++)"virtual thunk to log4cplus::thread::Queue::~Queue()@Base" 2.0.8
660 (c++)"virtual thunk to log4cplus::TimeBasedRollingFileAppender::~TimeBasedRollingFileAppender()@Base" 2.0.8
661 (c++)"vtable for log4cplus::Appender@Base" 2.0.8
662 (c++)"vtable for log4cplus::AsyncAppender@Base" 2.0.8
663 (c++)"vtable for log4cplus::BasicConfigurator@Base" 2.0.8
664 (c++)"vtable for log4cplus::CallbackAppender@Base" 2.0.8
665 (c++)"vtable for log4cplus::ConfigureAndWatchThread@Base" 2.0.8
666 (c++)"vtable for log4cplus::ConsoleAppender@Base" 2.0.8
667 (c++)"vtable for log4cplus::DailyRollingFileAppender@Base" 2.0.8
668 (c++)"vtable for log4cplus::DefaultLoggerFactory@Base" 2.0.8
669 (c++)"vtable for log4cplus::FileAppender@Base" 2.0.8
670 (c++)"vtable for log4cplus::FileAppenderBase@Base" 2.0.8
671 (c++)"vtable for log4cplus::helpers::AbstractSocket@Base" 2.0.8
672 (c++)"vtable for log4cplus::helpers::AppenderAttachableImpl@Base" 2.0.8
673 (c++)"vtable for log4cplus::helpers::ConnectorThread@Base" 2.0.8
674 (c++)"vtable for log4cplus::helpers::IConnectorThreadClient@Base" 2.0.8
675 (c++)"vtable for log4cplus::helpers::LogLog@Base" 2.0.8
676 (c++)"vtable for log4cplus::helpers::Properties@Base" 2.0.8
677 (c++)"vtable for log4cplus::helpers::ServerSocket@Base" 2.0.8
678 (c++)"vtable for log4cplus::helpers::SharedObject@Base" 2.0.8
679 (c++)"vtable for log4cplus::helpers::Socket@Base" 2.0.8
680 (c++)"vtable for log4cplus::helpers::SocketBuffer@Base" 2.0.8
681 (c++)"vtable for log4cplus::Hierarchy@Base" 2.0.8
682 (c++)"vtable for log4cplus::Log4jUdpAppender@Base" 2.0.8
683 (c++)"vtable for log4cplus::Logger@Base" 2.0.8
684 (c++)"vtable for log4cplus::MDC@Base" 2.0.8
685 (c++)"vtable for log4cplus::NDC@Base" 2.0.8
686 (c++)"vtable for log4cplus::NullAppender@Base" 2.0.8
687 (c++)"vtable for log4cplus::OnlyOnceErrorHandler@Base" 2.0.8
688 (c++)"vtable for log4cplus::PatternLayout@Base" 2.0.8
689 (c++)"vtable for log4cplus::PropertyConfigurator@Base" 2.0.8
690 (c++)"vtable for log4cplus::RollingFileAppender@Base" 2.0.8
691 (c++)"vtable for log4cplus::SimpleLayout@Base" 2.0.8
692 (c++)"vtable for log4cplus::SocketAppender@Base" 2.0.8
693 (c++)"vtable for log4cplus::spi::DenyAllFilter@Base" 2.0.8
694 (c++)"vtable for log4cplus::spi::Filter@Base" 2.0.8
695 (c++)"vtable for log4cplus::spi::FunctionFilter@Base" 2.0.8
696 (c++)"vtable for log4cplus::spi::InternalLoggingEvent@Base" 2.0.8
697 (c++)"vtable for log4cplus::spi::LoggerImpl@Base" 2.0.8
698 (c++)"vtable for log4cplus::spi::LogLevelMatchFilter@Base" 2.0.8
699 (c++)"vtable for log4cplus::spi::LogLevelRangeFilter@Base" 2.0.8
700 (c++)"vtable for log4cplus::spi::MDCMatchFilter@Base" 2.0.8
701 (c++)"vtable for log4cplus::spi::NDCMatchFilter@Base" 2.0.8
702 (c++)"vtable for log4cplus::spi::ObjectRegistryBase@Base" 2.0.8
703 (c++)"vtable for log4cplus::spi::RootLogger@Base" 2.0.8
704 (c++)"vtable for log4cplus::spi::StringMatchFilter@Base" 2.0.8
705 (c++)"vtable for log4cplus::SysLogAppender@Base" 2.0.8
706 (c++)"vtable for log4cplus::thread::AbstractThread@Base" 2.0.8
707 (c++)"vtable for log4cplus::thread::Queue@Base" 2.0.8
708 (c++)"vtable for log4cplus::TimeBasedRollingFileAppender@Base" 2.0.8
709 (c++)"vtable for log4cplus::TTCCLayout@Base" 2.0.8
710 (c++)"VTT for log4cplus::Appender@Base" 2.0.8
711 (c++)"VTT for log4cplus::AsyncAppender@Base" 2.0.8
712 (c++)"VTT for log4cplus::CallbackAppender@Base" 2.0.8
713 (c++)"VTT for log4cplus::ConsoleAppender@Base" 2.0.8
714 (c++)"VTT for log4cplus::DailyRollingFileAppender@Base" 2.0.8
715 (c++)"VTT for log4cplus::FileAppender@Base" 2.0.8
716 (c++)"VTT for log4cplus::FileAppenderBase@Base" 2.0.8
717 (c++)"VTT for log4cplus::helpers::ConnectorThread@Base" 2.0.8
718 (c++)"VTT for log4cplus::Log4jUdpAppender@Base" 2.0.8
719 (c++)"VTT for log4cplus::NullAppender@Base" 2.0.8
720 (c++)"VTT for log4cplus::RollingFileAppender@Base" 2.0.8
721 (c++)"VTT for log4cplus::SocketAppender@Base" 2.0.8
722 (c++)"VTT for log4cplus::spi::DenyAllFilter@Base" 2.0.8
723 (c++)"VTT for log4cplus::spi::Filter@Base" 2.0.8
724 (c++)"VTT for log4cplus::spi::FunctionFilter@Base" 2.0.8
725 (c++)"VTT for log4cplus::spi::LoggerImpl@Base" 2.0.8
726 (c++)"VTT for log4cplus::spi::LogLevelMatchFilter@Base" 2.0.8
727 (c++)"VTT for log4cplus::spi::LogLevelRangeFilter@Base" 2.0.8
728 (c++)"VTT for log4cplus::spi::MDCMatchFilter@Base" 2.0.8
729 (c++)"VTT for log4cplus::spi::NDCMatchFilter@Base" 2.0.8
730 (c++)"VTT for log4cplus::spi::RootLogger@Base" 2.0.8
731 (c++)"VTT for log4cplus::spi::StringMatchFilter@Base" 2.0.8
732 (c++)"VTT for log4cplus::SysLogAppender@Base" 2.0.8
733 (c++)"VTT for log4cplus::thread::AbstractThread@Base" 2.0.8
734 (c++)"VTT for log4cplus::thread::Queue@Base" 2.0.8
735 (c++)"VTT for log4cplus::TimeBasedRollingFileAppender@Base" 2.0.8
736 log4cplus_add_callback_appender@Base 2.0.8
737 log4cplus_add_log_level@Base 2.0.8
738 log4cplus_basic_configure@Base 2.0.8
739 log4cplus_basic_reconfigure@Base 2.0.8
740 log4cplus_deinitialize@Base 2.0.8
741 log4cplus_file_configure@Base 2.0.8
742 log4cplus_file_reconfigure@Base 2.0.8
743 log4cplus_initialize@Base 2.0.8
744 log4cplus_logger_exists@Base 2.0.8
745 log4cplus_logger_force_log@Base 2.0.8
746 log4cplus_logger_force_log_str@Base 2.0.8
747 log4cplus_logger_is_enabled_for@Base 2.0.8
748 log4cplus_logger_log@Base 2.0.8
749 log4cplus_logger_log_str@Base 2.0.8
750 log4cplus_remove_log_level@Base 2.0.8
751 log4cplus_shutdown@Base 2.0.8
752 log4cplus_str_configure@Base 2.0.8
753 log4cplus_str_reconfigure@Base 2.0.8
754# va_list differs across architectures
755 (c++|arch=amd64 s390x)"log4cplus::helpers::snprintf_buf::print_va_list(char const*&, char const*, __va_list_tag*)@Base" 2.0.8
756 (c++|arch=arm64 armhf)"log4cplus::helpers::snprintf_buf::print_va_list(char const*&, char const*, std::__va_list)@Base" 2.0.8
757 (c++|arch=ppc64el)"log4cplus::helpers::snprintf_buf::print_va_list(char const*&, char const*, char*)@Base" 2.0.8
758 (c++|arch=riscv64)"log4cplus::helpers::snprintf_buf::print_va_list(char const*&, char const*, void*)@Base" 2.0.8
759# armhf (32-bits) behaves differently for size_t
760 (c++|arch=!armhf)"log4cplus::DailyRollingFileAppender::calculateNextRolloverTime(std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long long, std::ratio<1l, 1000000l> > > const&) const@Base" 2.0.8
761 (c++|arch=armhf)"log4cplus::DailyRollingFileAppender::calculateNextRolloverTime(std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long long, std::ratio<1ll, 1000000ll> > > const&) const@Base" 2.0.8
762 (c++|arch=!armhf)"log4cplus::DailyRollingFileAppender::getFilename[abi:cxx11](std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long long, std::ratio<1l, 1000000l> > > const&) const@Base" 2.0.8
763 (c++|arch=armhf)"log4cplus::DailyRollingFileAppender::getFilename[abi:cxx11](std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long long, std::ratio<1ll, 1000000ll> > > const&) const@Base" 2.0.8
764 (c++|arch=armhf)"log4cplus::helpers::AbstractSocket::AbstractSocket(int, log4cplus::helpers::SocketState, int)@Base" 2.0.8
765 (c++|arch=!armhf)"log4cplus::helpers::AbstractSocket::AbstractSocket(long, log4cplus::helpers::SocketState, int)@Base" 2.0.8
766 (c++|arch=armhf)"log4cplus::helpers::acceptSocket(int, log4cplus::helpers::SocketState&)@Base" 2.0.8
767 (c++|arch=!armhf)"log4cplus::helpers::acceptSocket(long, log4cplus::helpers::SocketState&)@Base" 2.0.8
768 (c++|arch=armhf)"log4cplus::helpers::closeSocket(int)@Base" 2.0.8
769 (c++|arch=!armhf)"log4cplus::helpers::closeSocket(long)@Base" 2.0.8
770 (c++|arch=!armhf)"log4cplus::helpers::getFormattedTime(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long long, std::ratio<1l, 1000000l> > > const&, bool)@Base" 2.0.8
771 (c++|arch=armhf)"log4cplus::helpers::getFormattedTime(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long long, std::ratio<1ll, 1000000ll> > > const&, bool)@Base" 2.0.8
772 (c++|arch=!armhf)"log4cplus::helpers::gmTime(tm*, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long long, std::ratio<1l, 1000000l> > > const&)@Base" 2.0.8
773 (c++|arch=armhf)"log4cplus::helpers::gmTime(tm*, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long long, std::ratio<1ll, 1000000ll> > > const&)@Base" 2.0.8
774 (c++|arch=!armhf)"log4cplus::helpers::localTime(tm*, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long long, std::ratio<1l, 1000000l> > > const&)@Base" 2.0.8
775 (c++|arch=armhf)"log4cplus::helpers::localTime(tm*, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long long, std::ratio<1ll, 1000000ll> > > const&)@Base" 2.0.8
776 (c++|arch=armhf)"log4cplus::helpers::read(int, log4cplus::helpers::SocketBuffer&)@Base" 2.0.8
777 (c++|arch=!armhf)"log4cplus::helpers::read(long, log4cplus::helpers::SocketBuffer&)@Base" 2.0.8
778 (c++|arch=armhf)"log4cplus::helpers::setTCPNoDelay(int, bool)@Base" 2.0.8
779 (c++|arch=!armhf)"log4cplus::helpers::setTCPNoDelay(long, bool)@Base" 2.0.8
780 (c++|arch=armhf)"log4cplus::helpers::shutdownSocket(int)@Base" 2.0.8
781 (c++|arch=!armhf)"log4cplus::helpers::shutdownSocket(long)@Base" 2.0.8
782 (c++|arch=armhf)"log4cplus::helpers::SocketBuffer::SocketBuffer(unsigned int)@Base" 2.0.8
783 (c++|arch=!armhf)"log4cplus::helpers::SocketBuffer::SocketBuffer(unsigned long)@Base" 2.0.8
784 (c++|arch=armhf)"log4cplus::helpers::Socket::Socket(int, log4cplus::helpers::SocketState, int)@Base" 2.0.8
785 (c++|arch=!armhf)"log4cplus::helpers::Socket::Socket(long, log4cplus::helpers::SocketState, int)@Base" 2.0.8
786 (c++|arch=armhf)"log4cplus::helpers::Socket::write(unsigned int, log4cplus::helpers::SocketBuffer const* const*)@Base" 2.0.8
787 (c++|arch=!armhf)"log4cplus::helpers::Socket::write(unsigned long, log4cplus::helpers::SocketBuffer const* const*)@Base" 2.0.8
788 (c++|arch=armhf)"log4cplus::helpers::write(int, log4cplus::helpers::SocketBuffer const&)@Base" 2.0.8
789 (c++|arch=armhf)"log4cplus::helpers::write(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
790 (c++|arch=armhf)"log4cplus::helpers::write(int, unsigned int, log4cplus::helpers::SocketBuffer const* const*)@Base" 2.0.8
791 (c++|arch=!armhf)"log4cplus::helpers::write(long, log4cplus::helpers::SocketBuffer const&)@Base" 2.0.8
792 (c++|arch=!armhf)"log4cplus::helpers::write(long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
793 (c++|arch=!armhf)"log4cplus::helpers::write(long, unsigned long, log4cplus::helpers::SocketBuffer const* const*)@Base" 2.0.8
794 (c++|arch=armhf)"log4cplus::NDC::setMaxDepth(unsigned int)@Base" 2.0.8
795 (c++|arch=!armhf)"log4cplus::NDC::setMaxDepth(unsigned long)@Base" 2.0.8
796 (c++|arch=armhf)"log4cplus::setThreadPoolSize(unsigned int)@Base" 2.0.8
797 (c++|arch=!armhf)"log4cplus::setThreadPoolSize(unsigned long)@Base" 2.0.8
798 (c++|arch=!armhf)"log4cplus::spi::InternalLoggingEvent::InternalLoggingEvent(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long long, std::ratio<1l, 1000000l> > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
799 (c++|arch=armhf)"log4cplus::spi::InternalLoggingEvent::InternalLoggingEvent(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long long, std::ratio<1ll, 1000000ll> > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
800 (c++|arch=!armhf)"log4cplus::spi::InternalLoggingEvent::InternalLoggingEvent(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long long, std::ratio<1l, 1000000l> > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
801 (c++|arch=armhf)"log4cplus::spi::InternalLoggingEvent::InternalLoggingEvent(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long long, std::ratio<1ll, 1000000ll> > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 2.0.8
802 (c++|arch=!armhf)"log4cplus::TimeBasedRollingFileAppender::calculateNextRolloverTime(std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long long, std::ratio<1l, 1000000l> > > const&) const@Base" 2.0.8
803 (c++|arch=armhf)"log4cplus::TimeBasedRollingFileAppender::calculateNextRolloverTime(std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long long, std::ratio<1ll, 1000000ll> > > const&) const@Base" 2.0.8
804 (c++|arch=!armhf)"log4cplus::TimeBasedRollingFileAppender::clean(std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long long, std::ratio<1l, 1000000l> > >)@Base" 2.0.8
805 (c++|arch=armhf)"log4cplus::TimeBasedRollingFileAppender::clean(std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long long, std::ratio<1ll, 1000000ll> > >)@Base" 2.0.8
806# armhf and riscv export additional symbols and templates. Include them below as optional
807(arch=armhf riscv64))#include "liblog4cplus-2.0.5.symbols.optional"
diff --git a/debian/liblog4cplus-2.0.5.symbols.optional b/debian/liblog4cplus-2.0.5.symbols.optional
0new file mode 100644808new file mode 100644
index 0000000..56dc712
--- /dev/null
+++ b/debian/liblog4cplus-2.0.5.symbols.optional
@@ -0,0 +1,91 @@
1liblog4cplus-2.0.so.3 liblog4cplus-2.0.5 #MINVER#
2 (c++|optional)"log4cplus::FileAppenderBase::~FileAppenderBase()@Base" 2.0.8
3 (c++|optional)"log4cplus::FileAppenderBase::~FileAppenderBase()@Base" 2.0.8
4 (c++|optional)"log4cplus::FileAppenderBase::~FileAppenderBase()@Base" 2.0.8
5 (c++|optional)"log4cplus::DiagnosticContext::~DiagnosticContext()@Base" 2.0.8
6 (c++|optional)"log4cplus::DiagnosticContext::~DiagnosticContext()@Base" 2.0.8
7 (c++|optional)"log4cplus::DefaultLoggerFactory::~DefaultLoggerFactory()@Base" 2.0.8
8 (c++|optional)"log4cplus::DefaultLoggerFactory::~DefaultLoggerFactory()@Base" 2.0.8
9 (c++|optional)"log4cplus::DefaultLoggerFactory::~DefaultLoggerFactory()@Base" 2.0.8
10 (c++|optional)"log4cplus::spi::RootLogger::~RootLogger()@Base" 2.0.8
11 (c++|optional)"log4cplus::spi::RootLogger::~RootLogger()@Base" 2.0.8
12 (c++|optional)"log4cplus::spi::DenyAllFilter::~DenyAllFilter()@Base" 2.0.8
13 (c++|optional)"log4cplus::spi::DenyAllFilter::~DenyAllFilter()@Base" 2.0.8
14 (c++|optional)"log4cplus::spi::FunctionFilter::~FunctionFilter()@Base" 2.0.8
15 (c++|optional)"log4cplus::spi::FunctionFilter::~FunctionFilter()@Base" 2.0.8
16 (c++|optional)"log4cplus::spi::MDCMatchFilter::~MDCMatchFilter()@Base" 2.0.8
17 (c++|optional)"log4cplus::spi::MDCMatchFilter::~MDCMatchFilter()@Base" 2.0.8
18 (c++|optional)"log4cplus::spi::NDCMatchFilter::~NDCMatchFilter()@Base" 2.0.8
19 (c++|optional)"log4cplus::spi::NDCMatchFilter::~NDCMatchFilter()@Base" 2.0.8
20 (c++|optional)"log4cplus::spi::FactoryRegistry<log4cplus::spi::FilterFactory>::~FactoryRegistry()@Base" 2.0.8
21 (c++|optional)"log4cplus::spi::FactoryRegistry<log4cplus::spi::FilterFactory>::~FactoryRegistry()@Base" 2.0.8
22 (c++|optional)"log4cplus::spi::FactoryRegistry<log4cplus::spi::FilterFactory>::~FactoryRegistry()@Base" 2.0.8
23 (c++|optional)"log4cplus::spi::FactoryRegistry<log4cplus::spi::LayoutFactory>::~FactoryRegistry()@Base" 2.0.8
24 (c++|optional)"log4cplus::spi::FactoryRegistry<log4cplus::spi::LayoutFactory>::~FactoryRegistry()@Base" 2.0.8
25 (c++|optional)"log4cplus::spi::FactoryRegistry<log4cplus::spi::LayoutFactory>::~FactoryRegistry()@Base" 2.0.8
26 (c++|optional)"log4cplus::spi::FactoryRegistry<log4cplus::spi::LocaleFactory>::~FactoryRegistry()@Base" 2.0.8
27 (c++|optional)"log4cplus::spi::FactoryRegistry<log4cplus::spi::LocaleFactory>::~FactoryRegistry()@Base" 2.0.8
28 (c++|optional)"log4cplus::spi::FactoryRegistry<log4cplus::spi::LocaleFactory>::~FactoryRegistry()@Base" 2.0.8
29 (c++|optional)"log4cplus::spi::FactoryRegistry<log4cplus::spi::AppenderFactory>::~FactoryRegistry()@Base" 2.0.8
30 (c++|optional)"log4cplus::spi::FactoryRegistry<log4cplus::spi::AppenderFactory>::~FactoryRegistry()@Base" 2.0.8
31 (c++|optional)"log4cplus::spi::FactoryRegistry<log4cplus::spi::AppenderFactory>::~FactoryRegistry()@Base" 2.0.8
32 (c++|optional)"log4cplus::spi::StringMatchFilter::~StringMatchFilter()@Base" 2.0.8
33 (c++|optional)"log4cplus::spi::StringMatchFilter::~StringMatchFilter()@Base" 2.0.8
34 (c++|optional)"log4cplus::spi::LogLevelMatchFilter::~LogLevelMatchFilter()@Base" 2.0.8
35 (c++|optional)"log4cplus::spi::LogLevelMatchFilter::~LogLevelMatchFilter()@Base" 2.0.8
36 (c++|optional)"log4cplus::spi::LogLevelRangeFilter::~LogLevelRangeFilter()@Base" 2.0.8
37 (c++|optional)"log4cplus::spi::LogLevelRangeFilter::~LogLevelRangeFilter()@Base" 2.0.8
38 (c++|optional)"log4cplus::spi::FactoryRegistry<log4cplus::spi::FilterFactory>::deleteObject(void*) const@Base" 2.0.8
39 (c++|optional)"log4cplus::spi::FactoryRegistry<log4cplus::spi::LayoutFactory>::deleteObject(void*) const@Base" 2.0.8
40 (c++|optional)"log4cplus::spi::FactoryRegistry<log4cplus::spi::LocaleFactory>::deleteObject(void*) const@Base" 2.0.8
41 (c++|optional)"log4cplus::spi::FactoryRegistry<log4cplus::spi::AppenderFactory>::deleteObject(void*) const@Base" 2.0.8
42 (c++|optional)"typeinfo for log4cplus::spi::FactoryRegistry<log4cplus::spi::FilterFactory>@Base" 2.0.8
43 (c++|optional)"typeinfo for log4cplus::spi::FactoryRegistry<log4cplus::spi::LayoutFactory>@Base" 2.0.8
44 (c++|optional)"typeinfo for log4cplus::spi::FactoryRegistry<log4cplus::spi::LocaleFactory>@Base" 2.0.8
45 (c++|optional)"typeinfo for log4cplus::spi::FactoryRegistry<log4cplus::spi::AppenderFactory>@Base" 2.0.8
46 (c++|optional)"virtual thunk to log4cplus::FileAppenderBase::~FileAppenderBase()@Base" 2.0.8
47 (c++|optional)"virtual thunk to log4cplus::FileAppenderBase::~FileAppenderBase()@Base" 2.0.8
48 (c++|optional)"virtual thunk to log4cplus::spi::RootLogger::~RootLogger()@Base" 2.0.8
49 (c++|optional)"virtual thunk to log4cplus::spi::RootLogger::~RootLogger()@Base" 2.0.8
50 (c++|optional)"virtual thunk to log4cplus::spi::DenyAllFilter::~DenyAllFilter()@Base" 2.0.8
51 (c++|optional)"virtual thunk to log4cplus::spi::DenyAllFilter::~DenyAllFilter()@Base" 2.0.8
52 (c++|optional)"virtual thunk to log4cplus::spi::FunctionFilter::~FunctionFilter()@Base" 2.0.8
53 (c++|optional)"virtual thunk to log4cplus::spi::FunctionFilter::~FunctionFilter()@Base" 2.0.8
54 (c++|optional)"virtual thunk to log4cplus::spi::MDCMatchFilter::~MDCMatchFilter()@Base" 2.0.8
55 (c++|optional)"virtual thunk to log4cplus::spi::MDCMatchFilter::~MDCMatchFilter()@Base" 2.0.8
56 (c++|optional)"virtual thunk to log4cplus::spi::NDCMatchFilter::~NDCMatchFilter()@Base" 2.0.8
57 (c++|optional)"virtual thunk to log4cplus::spi::NDCMatchFilter::~NDCMatchFilter()@Base" 2.0.8
58 (c++|optional)"virtual thunk to log4cplus::spi::StringMatchFilter::~StringMatchFilter()@Base" 2.0.8
59 (c++|optional)"virtual thunk to log4cplus::spi::StringMatchFilter::~StringMatchFilter()@Base" 2.0.8
60 (c++|optional)"virtual thunk to log4cplus::spi::LogLevelMatchFilter::~LogLevelMatchFilter()@Base" 2.0.8
61 (c++|optional)"virtual thunk to log4cplus::spi::LogLevelMatchFilter::~LogLevelMatchFilter()@Base" 2.0.8
62 (c++|optional)"virtual thunk to log4cplus::spi::LogLevelRangeFilter::~LogLevelRangeFilter()@Base" 2.0.8
63 (c++|optional)"virtual thunk to log4cplus::spi::LogLevelRangeFilter::~LogLevelRangeFilter()@Base" 2.0.8
64 (c++|optional)"virtual thunk to log4cplus::FileAppenderBase::~FileAppenderBase()@Base" 2.0.8
65 (c++|optional)"virtual thunk to log4cplus::FileAppenderBase::~FileAppenderBase()@Base" 2.0.8
66 (c++|optional)"virtual thunk to log4cplus::spi::RootLogger::~RootLogger()@Base" 2.0.8
67 (c++|optional)"virtual thunk to log4cplus::spi::RootLogger::~RootLogger()@Base" 2.0.8
68 (c++|optional)"virtual thunk to log4cplus::spi::DenyAllFilter::~DenyAllFilter()@Base" 2.0.8
69 (c++|optional)"virtual thunk to log4cplus::spi::DenyAllFilter::~DenyAllFilter()@Base" 2.0.8
70 (c++|optional)"virtual thunk to log4cplus::spi::FunctionFilter::~FunctionFilter()@Base" 2.0.8
71 (c++|optional)"virtual thunk to log4cplus::spi::FunctionFilter::~FunctionFilter()@Base" 2.0.8
72 (c++|optional)"virtual thunk to log4cplus::spi::MDCMatchFilter::~MDCMatchFilter()@Base" 2.0.8
73 (c++|optional)"virtual thunk to log4cplus::spi::MDCMatchFilter::~MDCMatchFilter()@Base" 2.0.8
74 (c++|optional)"virtual thunk to log4cplus::spi::NDCMatchFilter::~NDCMatchFilter()@Base" 2.0.8
75 (c++|optional)"virtual thunk to log4cplus::spi::NDCMatchFilter::~NDCMatchFilter()@Base" 2.0.8
76 (c++|optional)"virtual thunk to log4cplus::spi::StringMatchFilter::~StringMatchFilter()@Base" 2.0.8
77 (c++|optional)"virtual thunk to log4cplus::spi::StringMatchFilter::~StringMatchFilter()@Base" 2.0.8
78 (c++|optional)"virtual thunk to log4cplus::spi::LogLevelMatchFilter::~LogLevelMatchFilter()@Base" 2.0.8
79 (c++|optional)"virtual thunk to log4cplus::spi::LogLevelMatchFilter::~LogLevelMatchFilter()@Base" 2.0.8
80 (c++|optional)"virtual thunk to log4cplus::spi::LogLevelRangeFilter::~LogLevelRangeFilter()@Base" 2.0.8
81 (c++|optional)"virtual thunk to log4cplus::spi::LogLevelRangeFilter::~LogLevelRangeFilter()@Base" 2.0.8
82 (c++|optional)"vtable for log4cplus::ErrorHandler@Base" 2.0.8
83 (c++|optional)"vtable for log4cplus::spi::FilterFactory@Base" 2.0.8
84 (c++|optional)"vtable for log4cplus::spi::LayoutFactory@Base" 2.0.8
85 (c++|optional)"vtable for log4cplus::spi::LocaleFactory@Base" 2.0.8
86 (c++|optional)"vtable for log4cplus::spi::AppenderFactory@Base" 2.0.8
87 (c++|optional)"vtable for log4cplus::spi::FactoryRegistry<log4cplus::spi::FilterFactory>@Base" 2.0.8
88 (c++|optional)"vtable for log4cplus::spi::FactoryRegistry<log4cplus::spi::LayoutFactory>@Base" 2.0.8
89 (c++|optional)"vtable for log4cplus::spi::FactoryRegistry<log4cplus::spi::LocaleFactory>@Base" 2.0.8
90 (c++|optional)"vtable for log4cplus::spi::FactoryRegistry<log4cplus::spi::AppenderFactory>@Base" 2.0.8
91 (c++|optional)"vtable for log4cplus::Layout@Base" 2.0.8
diff --git a/debian/rules b/debian/rules
index 46a9d88..5c3caff 100755
--- a/debian/rules
+++ b/debian/rules
@@ -4,8 +4,9 @@ DH_VERBOSE=1
44
5include /usr/share/dpkg/default.mk5include /usr/share/dpkg/default.mk
66
7export DEB_CXXFLAGS_MAINT_APPEND := --std=c++117export DEB_CXXFLAGS_MAINT_APPEND := --std=c++11 -fvisibility=hidden
8export DEB_BUILD_MAINT_OPTIONS = hardening=+all8export DEB_BUILD_MAINT_OPTIONS = hardening=+all
9export DEB_LDFLAGS_MAINT_APPEND = -Wl,--version-script="$(CURDIR)/debian/export-map.ld"
910
10%:11%:
11 dh $@ --buildsystem=cmake12 dh $@ --buildsystem=cmake
diff --git a/debian/tests/control b/debian/tests/control
12new file mode 10064413new file mode 100644
index 0000000..b793677
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1,2 @@
1Tests: run-examples
2Depends: liblog4cplus-2.0.5, liblog4cplus-dev, g++
diff --git a/debian/tests/examples/hello.cpp b/debian/tests/examples/hello.cpp
0new file mode 1006443new file mode 100644
index 0000000..b859702
--- /dev/null
+++ b/debian/tests/examples/hello.cpp
@@ -0,0 +1,19 @@
1#include <log4cplus/logger.h>
2#include <log4cplus/loggingmacros.h>
3#include <log4cplus/configurator.h>
4#include <log4cplus/initializer.h>
5
6int
7main()
8{
9 // Initialization and deinitialization.
10 log4cplus::Initializer initializer;
11
12 log4cplus::BasicConfigurator config;
13 config.configure();
14
15 log4cplus::Logger logger = log4cplus::Logger::getInstance(
16 LOG4CPLUS_TEXT("main"));
17 LOG4CPLUS_WARN(logger, LOG4CPLUS_TEXT("Hello, World!"));
18 return 0;
19}
diff --git a/debian/tests/examples/hello.expected b/debian/tests/examples/hello.expected
0new file mode 10064420new file mode 100644
index 0000000..2de4cd1
--- /dev/null
+++ b/debian/tests/examples/hello.expected
@@ -0,0 +1 @@
1WARN - Hello, World!
diff --git a/debian/tests/examples/loglevel.cpp b/debian/tests/examples/loglevel.cpp
0new file mode 1006442new file mode 100644
index 0000000..dd9c5de
--- /dev/null
+++ b/debian/tests/examples/loglevel.cpp
@@ -0,0 +1,55 @@
1#include <log4cplus/logger.h>
2#include <log4cplus/loglevel.h>
3#include <log4cplus/loggingmacros.h>
4#include <log4cplus/configurator.h>
5#include <log4cplus/initializer.h>
6#include <iomanip>
7
8void
9printMessages(log4cplus::Logger const & logger)
10{
11 // Print messages using all common log levels.
12 LOG4CPLUS_TRACE (logger, "printMessages()");
13 LOG4CPLUS_DEBUG (logger, "This is a DEBUG message");
14 LOG4CPLUS_INFO (logger, "This is a INFO message");
15 LOG4CPLUS_WARN (logger, "This is a WARN message");
16 LOG4CPLUS_ERROR (logger, "This is a ERROR message");
17 LOG4CPLUS_FATAL (logger, "This is a FATAL message");
18}
19
20void
21thresholdTest(log4cplus::LogLevel ll)
22{
23 log4cplus::Logger logger
24 = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("main"));
25
26 // Set log level threshold on logger.
27 logger.setLogLevel(ll);
28
29 // Print messages.
30 log4cplus::tcout
31 << LOG4CPLUS_TEXT("*** calling printMessages() with ")
32 << log4cplus::getLogLevelManager().toString(ll)
33 << LOG4CPLUS_TEXT(" set: ***")
34 << std::endl;
35 printMessages(logger);
36 log4cplus::tcout << std::endl;
37}
38
39int
40main()
41{
42 log4cplus::Initializer initializer;
43
44 log4cplus::BasicConfigurator config;
45 config.configure();
46
47 thresholdTest(log4cplus::TRACE_LOG_LEVEL);
48 thresholdTest(log4cplus::DEBUG_LOG_LEVEL);
49 thresholdTest(log4cplus::INFO_LOG_LEVEL);
50 thresholdTest(log4cplus::WARN_LOG_LEVEL);
51 thresholdTest(log4cplus::ERROR_LOG_LEVEL);
52 thresholdTest(log4cplus::FATAL_LOG_LEVEL);
53
54 return 0;
55}
diff --git a/debian/tests/examples/loglevel.expected b/debian/tests/examples/loglevel.expected
0new file mode 10064456new file mode 100644
index 0000000..b6e1605
--- /dev/null
+++ b/debian/tests/examples/loglevel.expected
@@ -0,0 +1,33 @@
1*** calling printMessages() with TRACE set: ***
2TRACE - printMessages()
3DEBUG - This is a DEBUG message
4INFO - This is a INFO message
5WARN - This is a WARN message
6ERROR - This is a ERROR message
7FATAL - This is a FATAL message
8
9*** calling printMessages() with DEBUG set: ***
10DEBUG - This is a DEBUG message
11INFO - This is a INFO message
12WARN - This is a WARN message
13ERROR - This is a ERROR message
14FATAL - This is a FATAL message
15
16*** calling printMessages() with INFO set: ***
17INFO - This is a INFO message
18WARN - This is a WARN message
19ERROR - This is a ERROR message
20FATAL - This is a FATAL message
21
22*** calling printMessages() with WARN set: ***
23WARN - This is a WARN message
24ERROR - This is a ERROR message
25FATAL - This is a FATAL message
26
27*** calling printMessages() with ERROR set: ***
28ERROR - This is a ERROR message
29FATAL - This is a FATAL message
30
31*** calling printMessages() with FATAL set: ***
32FATAL - This is a FATAL message
33
diff --git a/debian/tests/examples/macros.cpp b/debian/tests/examples/macros.cpp
0new file mode 10064434new file mode 100644
index 0000000..57c130d
--- /dev/null
+++ b/debian/tests/examples/macros.cpp
@@ -0,0 +1,47 @@
1#include <log4cplus/logger.h>
2#include <log4cplus/loggingmacros.h>
3#include <log4cplus/configurator.h>
4#include <log4cplus/initializer.h>
5#include <iomanip>
6
7int
8main()
9{
10 log4cplus::Initializer initializer;
11
12 log4cplus::BasicConfigurator config;
13 config.configure();
14
15 log4cplus::Logger logger = log4cplus::Logger::getInstance(
16 LOG4CPLUS_TEXT("main"));
17
18 LOG4CPLUS_INFO(logger,
19 LOG4CPLUS_TEXT("This is")
20 << LOG4CPLUS_TEXT(" a reall")
21 << LOG4CPLUS_TEXT("y long message.") << std::endl
22 << LOG4CPLUS_TEXT("Just testing it out") << std::endl
23 << LOG4CPLUS_TEXT("What do you think?"));
24 LOG4CPLUS_INFO(logger, LOG4CPLUS_TEXT("This is a bool: ") << true);
25 LOG4CPLUS_INFO(logger, LOG4CPLUS_TEXT("This is a char: ")
26 << LOG4CPLUS_TEXT('x'));
27 LOG4CPLUS_INFO(logger, LOG4CPLUS_TEXT("This is a short: ")
28 << static_cast<short>(-100));
29 LOG4CPLUS_INFO(logger, LOG4CPLUS_TEXT("This is a unsigned short: ")
30 << static_cast<unsigned short>(100));
31 LOG4CPLUS_INFO(logger, LOG4CPLUS_TEXT("This is a int: ") << 1000);
32 LOG4CPLUS_INFO(logger, LOG4CPLUS_TEXT("This is a unsigned int: ") << 1000U);
33 LOG4CPLUS_INFO(logger, LOG4CPLUS_TEXT("This is a long(hex): ")
34 << std::hex << 100000000L);
35 LOG4CPLUS_INFO(logger, LOG4CPLUS_TEXT("This is a unsigned long: ")
36 << static_cast<unsigned long>(100000000U));
37 LOG4CPLUS_INFO(logger, LOG4CPLUS_TEXT("This is a float: ") << 1.2345f);
38 LOG4CPLUS_INFO(logger, LOG4CPLUS_TEXT("This is a double: ")
39 << std::setprecision(15)
40 << 1.2345234234);
41 LOG4CPLUS_INFO(logger, LOG4CPLUS_TEXT("This is a long double: ")
42 << std::setprecision(15)
43 << 123452342342.342L);
44
45 return 0;
46}
47
diff --git a/debian/tests/examples/macros.expected b/debian/tests/examples/macros.expected
0new file mode 10064448new file mode 100644
index 0000000..772b8da
--- /dev/null
+++ b/debian/tests/examples/macros.expected
@@ -0,0 +1,14 @@
1INFO - This is a really long message.
2Just testing it out
3What do you think?
4INFO - This is a bool: 1
5INFO - This is a char: x
6INFO - This is a short: -100
7INFO - This is a unsigned short: 100
8INFO - This is a int: 1000
9INFO - This is a unsigned int: 1000
10INFO - This is a long(hex): 5f5e100
11INFO - This is a unsigned long: 100000000
12INFO - This is a float: 1.2345
13INFO - This is a double: 1.2345234234
14INFO - This is a long double: 123452342342.342
diff --git a/debian/tests/run-examples b/debian/tests/run-examples
0new file mode 10075515new file mode 100755
index 0000000..58534ac
--- /dev/null
+++ b/debian/tests/run-examples
@@ -0,0 +1,17 @@
1#!/bin/bash
2
3# This is a set of examples taken from upstream's docs/examples.md
4
5set -e
6
7# Hello world test
8g++ -o ${AUTOPKGTEST_TMP}/hello $(dirname $0)/examples/hello.cpp -llog4cplus
9diff $(dirname $0)/examples/hello.expected <(${AUTOPKGTEST_TMP}/hello)
10
11# Test macros
12g++ -o ${AUTOPKGTEST_TMP}/macros $(dirname $0)/examples/macros.cpp -llog4cplus
13diff $(dirname $0)/examples/macros.expected <(${AUTOPKGTEST_TMP}/macros)
14
15# Log levels
16g++ -o ${AUTOPKGTEST_TMP}/loglevel $(dirname $0)/examples/loglevel.cpp -llog4cplus
17diff $(dirname $0)/examples/loglevel.expected <(${AUTOPKGTEST_TMP}/loglevel)

Subscribers

People subscribed via source and target branches