graylog-labs/log4j2-gelf

Messages not sending

Opened this issue · 0 comments

Hi,
I am experiencing some strange behavior when trying to use the UDP functionality. Basically the majority of messages are never sent. Using the code here:

for(int i=0;i<10000;i++){
            System.out.println("Logging a thing");
            logger.info("testing thing "+i);
            System.out.println("Logged a thing");

        }

and config here:

 <?xml version="1.0" encoding="UTF-8"?>
<configuration status="OFF" packages="org.graylog2.log4j2">
    <appenders>
        <GELF name="gelfAppender" server="<server>" port="4444" protocol="UDP"  hostName="<hostname>">
            <PatternLayout pattern="%logger{36} - %msg%n"/>
            <Filters>
                <MarkerFilter  marker="FLOW" onMatch="DENY" onMismatch="NEUTRAL"/>
                <MarkerFilter  marker="EXCEPTION" onMatch="DENY" onMismatch="ACCEPT"/>
            </Filters>

        </GELF>
    </appenders>
    <Loggers>
        <Root level="info">
            <AppenderRef ref="gelfAppender"/>
        </Root>
    </Loggers>
</configuration> 

I would expect all 10,000 messages to send, and a (small) number to be lost in transit. What actually happens is only 2-3k are sent, and a small number are lost in transit. I've verified what is sent/received with a packet capture on both ends.