private void WriteToFile(string fileName, LogEventInfo logEvent, byte[] bytes, bool justData)
{
if (this.ReplaceFileContentsOnEachWrite)
{
ReplaceFileContent(fileName, bytes, true);
return;
}
bool writeHeader = InitializeFile(fileName, logEvent, justData);
BaseFileAppender appender = this.fileAppenderCache.AllocateAppender(fileName);
try
{
if (writeHeader)
{
this.WriteHeader(appender);
}
appender.Write(bytes);
if (this.AutoFlush)
{
appender.Flush();
}
}
catch (Exception ex)
{
InternalLogger.Error(ex, "Failed write to file '{0}'.", fileName);
this.fileAppenderCache.InvalidateAppender(fileName);
throw;
}
}