protected override void Write(LogEventInfo logEvent) { try { var logEventProperties = logEvent.CleanCallerData().Properties; var fieldNameToUseAsDataType = GetFieldNameToUseAsDateType(logEventProperties); // In case we have NewLine LogzIO may translate it as 2 different messages var message = GetFilteredMessage(logEvent).Replace(Environment.NewLine, " "); var messageToSend = new LogzIOLogEventInfo(LogzAccountToken, message, DateTime.UtcNow, HostName, logEvent.Level, logEvent.Exception) { Type = fieldNameToUseAsDataType ?? "json", Details = logEventProperties }; var buffer = Encoding.ASCII.GetBytes(JsonConvert.SerializeObject(messageToSend, Formatting.None, mJsonSerializerSettings) + "\n"); if (mClient.Send(buffer, buffer.Length, SocketFlags.None) == 0) { InternalLogger.Error("Connection Error - 0 bytes transfered to LogzIo"); } } catch (Exception ex) { InternalLogger.Error("Error while writing to LogzIO Target {0}", ex); } }