public void StopMonitoring() { if(!IsMonitoring) throw new InvalidOperationException("Not currently monitoring."); IsMonitoring = false; _LogThread.Join(); _LogStream.Dispose(); }