private void WriteHeader(BaseFileAppender appender)
{
//performance: cheap check before checking file info
if (Header == null) return;
//todo replace with hasWritten?
var length = appender.GetFileLength();
// Write header only on empty files or if file info cannot be obtained.
if (length == null || length == 0)
{
byte[] headerBytes = this.GetHeaderBytes();
if (headerBytes != null)
{
appender.Write(headerBytes);
}
}
}