private void OnTimerTick(object sender, ElapsedEventArgs args) { var lastLogFile = logFileFinder.LastLogFile; if (lastLogFile != prevLastLogFile) { if (currentParser != null) { currentParser.Dispose(); } prevLastLogFile = lastLogFile; var stream = logStreamProvider.GetLogStream(lastLogFile); stream.Seek(0, SeekOrigin.End); currentParser = logParserProvider.Invoke(stream); } currentParser?.Parse(); }
public void Run() { var logs = parser.Parse(logLocation); notifier.Send(logs, recipients); }
private async Task OnExecuteAsync(CommandLineApplication app) { await _parser.Parse(Path); }
public Log(string logName, ILogParser parser, IInput input) : this(logName) { var data = input.GetLines(); var parsed = parser.Parse(data); AddEntries(parsed); }