////////////////////////////////////////////////////////////////////////////// private static StreamWriter GetLogFileStream(Device device, DateTime now) { string path = GetDeviceLogPath(device, now); string deviceName = device.Name; if (streams.ContainsKey(deviceName)) { FileWriterHolder holder = streams[deviceName]; if (holder.FilePath.ToLower() == path.ToLower()) { return(holder.FileWriter); } else { StreamWriter fileWriter = holder.FileWriter; if (fileWriter != null) { fileWriter.Close(); fileWriter.Dispose(); } streams.Remove(deviceName); } } FileWriterHolder newHolder = new FileWriterHolder() { FilePath = path }; if (!File.Exists(path)) { // TODO: TO TEST! // string logPath = GetDeviceLogPath(device, DateTime.Now); StreamWriter fsw = new StreamWriter(path, true); newHolder.FileWriter = fsw; streams[deviceName] = newHolder; return(fsw); } else { StreamWriter fsw = new StreamWriter(path, true); newHolder.FileWriter = fsw; streams[deviceName] = newHolder; return(fsw); } }
////////////////////////////////////////////////////////////////////////////// private static StreamWriter GetLogFileStream(Device device, DateTime now) { string path = GetDeviceLogPath(device, now); string deviceName = device.Name; if (streams.ContainsKey(deviceName)) { FileWriterHolder holder = streams[deviceName]; if (holder.FilePath.ToLower() == path.ToLower()) { return holder.FileWriter; } else { StreamWriter fileWriter = holder.FileWriter; if (fileWriter != null) { fileWriter.Close(); fileWriter.Dispose(); } streams.Remove(deviceName); } } FileWriterHolder newHolder = new FileWriterHolder() { FilePath = path }; if (!File.Exists(path)) { // TODO: TO TEST! // string logPath = GetDeviceLogPath(device, DateTime.Now); StreamWriter fsw = new StreamWriter(path, true); newHolder.FileWriter = fsw; streams[deviceName] = newHolder; return fsw; } else { StreamWriter fsw = new StreamWriter(path, true); newHolder.FileWriter = fsw; streams[deviceName] = newHolder; return fsw; } }