in src/log4net/Appender/RemoteSyslogAppender.cs [391:416]
protected virtual void AppendMessage(string message, ref int characterIndex, StringBuilder builder)
{
message.EnsureNotNull();
builder.EnsureNotNull();
for (; characterIndex < message.Length; characterIndex++)
{
char c = message[characterIndex];
// Accept only visible ASCII characters and space. See RFC 3164 section 4.1.3
if (c is >= ' ' and <= (char)126)
{
builder.Append(c);
}
// If character is newline, break and send the current line
else if (c is '\r' or '\n')
{
// Check the next character to handle \r\n or \n\r
if ((message.Length > characterIndex + 1) && ((message[characterIndex + 1] == '\r') || (message[characterIndex + 1] == '\n')))
{
characterIndex++;
}
characterIndex++;
break;
}
}
}