[ https://issues.apache.org/jira/browse/LOG4NET-415?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13864131#comment-13864131 ]
Jose Luis Pedrosa commented on LOG4NET-415: ------------------------------------------- Hi Stefan, Thanks for your answer, About CF: In the MS page i looked before sending the patch it said it was supported, that is why I removed the ifdef markers, but indeed i did not test against that platform. About Strict mode, the issue it is trying to address is: avoid a lot of extra data when logging things that contains new line (IE: HTTP SOAP requests with headers), indeed the patch does not provide RFC5424 compliance. But I am quite confident this can be useful for multiple scenarios (An stack trace of an exception for isntance). So my opinion is: This Strict mode (maybe rename the variable to, SplitByNewLine) is useful in various scenarios, and later create another SyslogAppender for RFC5424 or add a parameter/variable to specify the RFC compliance it should use, Like SyslogVersion = "RFC5424|RFC3164". I think the option of RFC3164 and split (or not) by lines would be still usefull. What do you think about it? Rgds JL > RemoteSyslogAppender may block for ARP resolution + Improvement Strict RFC3164 > ------------------------------------------------------------------------------ > > Key: LOG4NET-415 > URL: https://issues.apache.org/jira/browse/LOG4NET-415 > Project: Log4net > Issue Type: Bug > Components: Appenders > Affects Versions: 1.2.13 > Environment: Any Windows environment > Reporter: Jose Luis Pedrosa > Labels: RemoteSyslogAppender > Attachments: LOG4NET-415.patch > > > Sending UDP packages may block for some time in specific circumstances: > 1) Next hop in network level 3 can't be resolved by ARP. > 2) Datagram size exceeds FastSendDatagramThreshold configured size. > When sending packets bigger than FastSendDatagramThreshold, the OS waits > until the packet is actually sent, if the If the syslog (or the next hop to > reach the syslog) is in the same VLAN/Subnet the OS tries to resolve by ARP > the Ip of the configured syslog, this may take up to 3 seconds, slowing down > the whole application, which in some cases can lead to outages (timeouts, DB > locks...). > Also the fact that each carriage return generates the headers of the packet > again, that can lead to a significant overhead in some scenarios, for > instance when loggign HTTP requests to a remote syslog, every header will go > in a different message. Also some logging may require characters that are now > skipped in patch: https://issues.apache.org/jira/browse/LOG4NET-370 > I'm adding a patch that > 1) Moves the use of UDPClient to Non blocking sockets, which eliminates the > blocking. > 2) Adds a configuration field to decide if you want Strict RFC Behaviour or > not (with default Strict). > Please your feedback, thanks in advance > Jose Luis -- This message was sent by Atlassian JIRA (v6.1.5#6160)