Index: src/log4net/Appender/RollingFileAppender.cs =================================================================== --- src/log4net/Appender/RollingFileAppender.cs (revision 1650214) +++ src/log4net/Appender/RollingFileAppender.cs (working copy) @@ -643,15 +643,19 @@ } else { - if (LogLog.IsErrorEnabled) + // Internal check that the file is not being overwritten + // If not Appending to an existing file we should have rolled the file out of the + // way. Therefore we should not be over-writing an existing file. + // The only exception is if we are not allowed to roll the existing file away. + if (m_maxSizeRollBackups != 0 && FileExists(fileName)) { - // Internal check that the file is not being overwritten - // If not Appending to an existing file we should have rolled the file out of the - // way. Therefore we should not be over-writing an existing file. - // The only exception is if we are not allowed to roll the existing file away. - if (m_maxSizeRollBackups != 0 && FileExists(fileName)) + // if the file is not being overwritten we should continue appending + // at least we will not truncate the existing logfile which is definitely + // not a good idea + append = true; + if (LogLog.IsWarnEnabled) { - LogLog.Error(declaringType, "RollingFileAppender: INTERNAL ERROR. Append is False but OutputFile ["+fileName+"] already exists."); + LogLog.Warn(declaringType, "RollingFileAppender: INTERNAL ERROR. Append is False but OutputFile [" + fileName + "] already exists. This time we append anyway by changing Append temporarily to True."); } } }