The Rebex.FileLogWriter does not delete the content of old logs, it actually automatically appends the new log to the end of the file (if a file is existing already).
If I run this code, I end up having a log file with 10 connection attempts, so for me it works correctly:
for (int i = 0; i < 10; i++)
{
Imap client = new Imap();
client.LogWriter = new Rebex.FileLogWriter(@"C:\MyLogFiles\rebex-imap-log.txt");
client.Connect("imap.gmail.com", SslMode.Implicit);
client.Disconnect();
}
However, please note that if you have problems with Rebex components that you want to solve/debug, it is better to use Rebex.LogLevel.Debug instead of Rebex.LogLevel.Error verbosity. The error verbose level only logs the stacktrace of the error that occured, whereas the Rebex.LogLevel.Debug logs more communication between the server and client which is usually crucial to find the cause of the error itself). The Rebex.LogLevel.Debug is also the default value.