[
https://issues.apache.org/jira/browse/LOGCXX-567?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17645536#comment-17645536
]
Robert Middleton commented on LOGCXX-567:
-----------------------------------------
The current branch contains rather ridiculous stacktraces:
{code:java}
33 [0x7f574c08ddc0] TRACE - message 0#
log4cxx::spi::LoggingEvent::LoggingEventPrivate::LoggingEventPrivate(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
std::shared_ptr<log4cxx::Level> const&, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
log4cxx::spi::LocationInfo const&) in /usr/local/lib/liblog4cxx.so.13
1#
std::_MakeUniq<log4cxx::spi::LoggingEvent::LoggingEventPrivate>::__single_object
std::make_unique<log4cxx::spi::LoggingEvent::LoggingEventPrivate,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&, std::shared_ptr<log4cxx::Level> const&,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&, log4cxx::spi::LocationInfo const&>(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
std::shared_ptr<log4cxx::Level> const&, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
log4cxx::spi::LocationInfo const&) in /usr/local/lib/liblog4cxx.so.13
2# log4cxx::spi::LoggingEvent::LoggingEvent(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
std::shared_ptr<log4cxx::Level> const&, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
log4cxx::spi::LocationInfo const&) in /usr/local/lib/liblog4cxx.so.13
3# void
__gnu_cxx::new_allocator<log4cxx::spi::LoggingEvent>::construct<log4cxx::spi::LoggingEvent,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>
>&, std::shared_ptr<log4cxx::Level> const&, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >&, log4cxx::spi::LocationInfo
const&>(log4cxx::spi::LoggingEvent*, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >&,
std::shared_ptr<log4cxx::Level> const&, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >&, log4cxx::spi::LocationInfo
const&) in /usr/local/lib/liblog4cxx.so.13
4# void std::allocator_traits<std::allocator<log4cxx::spi::LoggingEvent>
>::construct<log4cxx::spi::LoggingEvent, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >&,
std::shared_ptr<log4cxx::Level> const&, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >&, log4cxx::spi::LocationInfo
const&>(std::allocator<log4cxx::spi::LoggingEvent>&,
log4cxx::spi::LoggingEvent*, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >&,
std::shared_ptr<log4cxx::Level> const&, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >&, log4cxx::spi::LocationInfo
const&) in /usr/local/lib/liblog4cxx.so.13
5# std::_Sp_counted_ptr_inplace<log4cxx::spi::LoggingEvent,
std::allocator<log4cxx::spi::LoggingEvent>,
(__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >&,
std::shared_ptr<log4cxx::Level> const&, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >&, log4cxx::spi::LocationInfo
const&>(std::allocator<log4cxx::spi::LoggingEvent>,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>
>&, std::shared_ptr<log4cxx::Level> const&, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >&, log4cxx::spi::LocationInfo
const&) in /usr/local/lib/liblog4cxx.so.13
6#
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<log4cxx::spi::LoggingEvent,
std::allocator<log4cxx::spi::LoggingEvent>, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >&,
std::shared_ptr<log4cxx::Level> const&, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >&, log4cxx::spi::LocationInfo
const&>(log4cxx::spi::LoggingEvent*&,
std::_Sp_alloc_shared_tag<std::allocator<log4cxx::spi::LoggingEvent> >,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>
>&, std::shared_ptr<log4cxx::Level> const&, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >&, log4cxx::spi::LocationInfo
const&) in /usr/local/lib/liblog4cxx.so.13
7# std::__shared_ptr<log4cxx::spi::LoggingEvent,
(__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<log4cxx::spi::LoggingEvent>,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>
>&, std::shared_ptr<log4cxx::Level> const&, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >&, log4cxx::spi::LocationInfo
const&>(std::_Sp_alloc_shared_tag<std::allocator<log4cxx::spi::LoggingEvent> >,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>
>&, std::shared_ptr<log4cxx::Level> const&, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >&, log4cxx::spi::LocationInfo
const&) in /usr/local/lib/liblog4cxx.so.13
8#
std::shared_ptr<log4cxx::spi::LoggingEvent>::shared_ptr<std::allocator<log4cxx::spi::LoggingEvent>,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>
>&, std::shared_ptr<log4cxx::Level> const&, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >&, log4cxx::spi::LocationInfo
const&>(std::_Sp_alloc_shared_tag<std::allocator<log4cxx::spi::LoggingEvent> >,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>
>&, std::shared_ptr<log4cxx::Level> const&, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >&, log4cxx::spi::LocationInfo
const&) in /usr/local/lib/liblog4cxx.so.13
9# std::shared_ptr<log4cxx::spi::LoggingEvent>
std::allocate_shared<log4cxx::spi::LoggingEvent,
std::allocator<log4cxx::spi::LoggingEvent>, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >&,
std::shared_ptr<log4cxx::Level> const&, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >&, log4cxx::spi::LocationInfo
const&>(std::allocator<log4cxx::spi::LoggingEvent> const&,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>
>&, std::shared_ptr<log4cxx::Level> const&, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >&, log4cxx::spi::LocationInfo
const&) in /usr/local/lib/liblog4cxx.so.13
10# std::shared_ptr<log4cxx::spi::LoggingEvent>
std::make_shared<log4cxx::spi::LoggingEvent, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >&,
std::shared_ptr<log4cxx::Level> const&, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >&, log4cxx::spi::LocationInfo
const&>(std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >&, std::shared_ptr<log4cxx::Level> const&,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>
>&, log4cxx::spi::LocationInfo const&) in /usr/local/lib/liblog4cxx.so.13
11# log4cxx::Logger::forcedLog(std::shared_ptr<log4cxx::Level> const&,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&, log4cxx::spi::LocationInfo const&) const in
/usr/local/lib/liblog4cxx.so.13
12# 0x00005635C9793650 in /home/robert/build-testproj-Desktop-Debug/testproj
13# __libc_start_main in /usr/lib/x86_64-linux-gnu/libc.so.6
14# 0x00005635C979292A in /home/robert/build-testproj-Desktop-Debug/testproj
{code}
Maybe we can generate the backtrace at the calling location inside of the
macros instead? Add a LogString parameter that takes in the backtrace?
> Investigate backtrace support
> -----------------------------
>
> Key: LOGCXX-567
> URL: https://issues.apache.org/jira/browse/LOGCXX-567
> Project: Log4cxx
> Issue Type: Improvement
> Reporter: Robert Middleton
> Priority: Major
>
> Boost has a stacktrace module that could be useful:
> [https://www.boost.org/doc/libs/1_80_0/doc/html/stacktrace.html]
>
> Investigate and determine if this would be reasonable to add.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)