[ https://issues.apache.org/jira/browse/LOGCXX-441?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thorsten Schöning updated LOGCXX-441: ------------------------------------- Fix Version/s: (was: 0.11.0) > Log4cxx SocketAppender leads to application crash > ------------------------------------------------- > > Key: LOGCXX-441 > URL: https://issues.apache.org/jira/browse/LOGCXX-441 > Project: Log4cxx > Issue Type: Bug > Components: Appender > Affects Versions: 0.10.0 > Environment: CentOS, RHEL, C++11 > Reporter: Rakesh Sehgal > Labels: features > > I am using log4cxx and recently started working with SocketAppender. I use > the following: > java org.apache.log4j.net.SimpleSocketServer 4712 log4j-server.properties > and am able to write logs on the server. I do also have a local SizeRollover > policy setup. This all works fine, until I stop running the > SimpleSockerServer. At which point my C++ application crashes, I think after > the ReconnectionDelayTime specified in the properties file. > Below is the gdb output from crash: > 0 0x0000003c5fa0e6fd in write () from /lib64/libpthread.so.0 > 1 0x00007ffff79eade7 in apr_socket_send () from /usr/lib64/libapr-1.so.0 > 2 0x00007ffff7d52bb1 in > log4cxx::helpers::Socket::write(log4cxx::helpers::ByteBuffer&) () from > /usr/lib64/liblog4cxx.so.10 > 3 0x00007ffff7d595ed in > log4cxx::helpers::SocketOutputStream::flush(log4cxx::helpers::Pool&) () from > /usr/lib64/liblog4cxx.so.10 > 4 0x00007ffff7d5468c in > log4cxx::net::SocketAppender::append(log4cxx::helpers::ObjectPtrT const&, > log4cxx::helpers::Pool&) () from /usr/lib64/liblog4cxx.so.10 > 5 0x00007ffff7cd7d9d in > log4cxx::AppenderSkeleton::doAppend(log4cxx::helpers::ObjectPtrT const&, > log4cxx::helpers::Pool&) () from /usr/lib64/liblog4cxx.so.10 > 6 0x00007ffff7cd50f4 in > log4cxx::helpers::AppenderAttachableImpl::appendLoopOnAppenders(log4cxx::helpers::ObjectPtrT > const&, log4cxx::helpers::Pool&) () from /usr/lib64/liblog4cxx.so.10 > 7 0x00007ffff7d1adfd in > log4cxx::Logger::callAppenders(log4cxx::helpers::ObjectPtrT const&, > log4cxx::helpers::Pool&) const () from /usr/lib64/liblog4cxx.so.10 > 8 0x00007ffff7d1c4ac in > log4cxx::Logger::forcedLog(log4cxx::helpers::ObjectPtrT const&, > std::basic_string, std::allocator > const&, log4cxx::spi::LocationInfo > const&) const () from /usr/lib64/liblog4cxx.so.10` > As an improvement, Is it possible to make log4cxx write logs to a local file > in case the server stops? If I start the server again, before the application > crashes, SocketAppender does not receive the logs again. Any other > suggestions to send logs over the network? -- This message was sent by Atlassian JIRA (v6.3.4#6332)