[ 
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)

Reply via email to