From bcf5195427b1857e98db47c173239d7bc3292034 Mon Sep 17 00:00:00 2001 From: Eric Fontana Date: Fri, 10 Oct 2014 07:22:13 -0400 Subject: [PATCH] read entire file on log roll --- TimberWinR/Inputs/LogsListener.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/TimberWinR/Inputs/LogsListener.cs b/TimberWinR/Inputs/LogsListener.cs index 4d2c53c..ed9eec1 100644 --- a/TimberWinR/Inputs/LogsListener.cs +++ b/TimberWinR/Inputs/LogsListener.cs @@ -90,14 +90,19 @@ namespace TimberWinR.Inputs var record = rsfiles.getRecord(); string logName = record.getValue("LogFilename") as string; FileInfo fi = new FileInfo(logName); + fi.Refresh(); DateTime creationTime = fi.CreationTimeUtc; - if (!logFileMaxRecords.ContainsKey(logName) || (logFileCreationTimes.ContainsKey(logName) && creationTime > logFileCreationTimes[logName])) + bool logHasRolled = logFileCreationTimes.ContainsKey(logName) && creationTime > logFileCreationTimes[logName]; + + if (!logFileMaxRecords.ContainsKey(logName) || logHasRolled) { logFileCreationTimes[logName] = creationTime; var qcount = string.Format("SELECT max(Index) as MaxRecordNumber FROM {0}", logName); var rcount = oLogQuery.Execute(qcount, iFmt); var qr = rcount.getRecord(); var lrn = (Int64)qr.getValueEx("MaxRecordNumber"); + if (logHasRolled) + lrn = 0; logFileMaxRecords[logName] = lrn; } }