logging-log4cxx-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Lucas Vickers <lu...@localprojects.net>
Subject Socket appender improvements
Date Tue, 01 Jul 2014 16:12:35 GMT
Hi All,

Log4cxx has been working well for me locally, specifically due to the fact
that it can be compiled in 32 and 64 bits.

What I'm trying to do now is create a way to alert myself when there are
error level logs.  I know I can use the smtp appender but I don't love this
because the credentials are stored locally.  I like the idea of sending
error messages over a socket, and then having a server based solution that
will email/notify/etc.  I did a quick experiment with the socketappender
and on OS X I got SIGPIPE in socket.cpp:96.  Code at bottom of email.

I was wondering if any of the developers have put recent work into making
this a bit more of a reliable solution.  I'd be happy to help out in
anyway, but I obviously can't have my application crashing if a socket is
closed behind the scenes.

Also so I am totally clear, what is the most up to date repo/branch?

thanks all,
Lucas


        // while writing to the socket, we need to ignore the SIGPIPE
        // signal. Otherwise, when the client has closed the connection,
        // the send() function would not return an error but call the
        // SIGPIPE handler.
#if APR_HAVE_SIGACTION
        apr_sigfunc_t* old = apr_signal(SIGPIPE, SIG_IGN);
        apr_status_t status = apr_socket_send(socket, buf.current(),
&written);  <-- SIGPIPE here
        apr_signal(SIGPIPE, old);
#else
        apr_status_t status = apr_socket_send(socket, buf.current(),
&written);
#endif

Mime
View raw message