I’m having trouble getting additional debug messages, but I did get the
following logs with immediateFail=true on the SocketAppender only.
By the way, I’m using an AsyncAppender. Would that cause the error handling to
work differently?
2016-01-19 18:30:11,995 AsyncAppender-ASYNC-SYSLOG ERROR Unable to write to
stream TCP:localhost:601 for appender SYSLOG
2016-01-19 18:30:11,996 AsyncAppender-ASYNC-SYSLOG ERROR An exception occurred
processing Appender SYSLOG
org.apache.logging.log4j.core.appender.AppenderLoggingException: Error writing
to TCP:localhost:601
at
org.apache.logging.log4j.core.net.TcpSocketManager.write(TcpSocketManager.java:140)
at
org.apache.logging.log4j.core.appender.OutputStreamManager.write(OutputStreamManager.java:136)
at
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:105)
at
org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:152)
at
org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:125)
at
org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:116)
at
org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84)
at
org.apache.logging.log4j.core.appender.AsyncAppender$AsyncThread.callAppenders(AsyncAppender.java:308)
at
org.apache.logging.log4j.core.appender.AsyncAppender$AsyncThread.run(AsyncAppender.java:261)
Caused by: java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109)
at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
at
org.apache.logging.log4j.core.net.TcpSocketManager.write(TcpSocketManager.java:131)
... 8 more
2016-01-19 18:30:52,941 Thread-42 DEBUG Connection to localhost:601
reestablished.
On 1/19/16, 4:59 PM, "Ralph Goers" <[email protected]> wrote:
>Can you enable the debug logging so we can see what is happening in the
>Appender?
>
>Ralph
>
>> On Jan 19, 2016, at 1:32 PM, Blake Day <[email protected]> wrote:
>>
>> Sorry, on further investigation, it appears that the thread does not die.
>> But the subsequent log messages are lost from the syslog side. I found
>> https://issues.apache.org/jira/browse/LOG4J2-122, but I am not sure what to
>> make of it. I’ve also tried playing with immediateFail and
>> reconnectionDelayMillis, but nothing seems to have the effect I want.
>>
>>
>>
>> On 1/19/16, 2:36 PM, "Blake Day" <[email protected]> wrote:
>>
>>> I’m using SocketAppender to log to syslog-ng.
>>>
>>>
>>> When logging a message that exceeds 8192 bytes (a syslog-ng setting),
>>> syslog-ng gives an error and closes the connection. What happens
>>> immediately after is unclear, but it appears that the java thread just dies
>>> silently. The thread itself is a quartz scheduler worker thread, but I
>>> thought I’d ask here to see whether you guys think this is a log4j related
>>> issue. There are no java application logs (console or otherwise) to
>>> suggest what happened.
>>>
>>>
>>> Here is the output from syslog-ng’s side:
>>>
>>>
>>> 2016-01-19T14:26:34-05:00 ERR syslog-ng[87462]: - Incoming frame larger
>>> than log_msg_size(); log_msg_size='8192', frame_length='100233'
>>>
>>> 2016-01-19T14:26:34-05:00 NOTICE syslog-ng[87462]: - Syslog connection
>>> closed; fd='34', client='AF_INET(127.0.0.1:10142)',
>>> local='AF_INET(0.0.0.0:601)'
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [email protected]
>For additional commands, e-mail: [email protected]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]