Создание собственного логгера. Обработка ситуации с недоступным или повреждённым файлом - C#
Формулировка задачи:
Добрый день!
Помогите, пожалуйста, решить следующую проблему:
Есть в программе функция записи в лог:
И есть в программе код, который определеяет размер файла, и в случае превышения определенного размера, переименовывает файл и создает другой.
Проблема в том, что если файл недоступен, то будет ошибка. Как поступить, если файл недоступен или поврежден?
Спасибо за помощь!
Листинг программы
- public void log_function(string error) {
- StreamWriter sw;
- FileInfo log_file = new FileInfo(@"D:\Projects\test.log");
- sw = log_file.AppendText();
- sw.WriteLine(DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss\t"));
- sw.WriteLine(error);
- sw.Close();
- }
Листинг программы
- FileInfo log_file = new FileInfo(@"D:\Projects\test.log");
- long fileByteSize = log_file.Length;
- if (fileByteSize >= 102400)
- {
- try
- {
- File.Move(@"D:\Projects\test.log", @"D:\Projects\log" + DateTime.Now.ToString(" dd MM yyyy hh.mm.ss") + ".txt");
- }
- catch
- {
- }
Решение задачи: «Создание собственного логгера. Обработка ситуации с недоступным или повреждённым файлом»
textual
Листинг программы
- public void log_function(string error) {
- StreamWriter sw;
- FileInfo log_file = new FileInfo(@"D:\Projects\test.log");
- try
- {
- long fileByteSize = log_file.Length;
- if (fileByteSize >= 102400)
- {
- File.Move(@"D:\Projects\test.log", @"D:\Projects\log" + DateTime.Now.ToString(" dd MM yyyy hh.mm.ss") + ".txt");
- }
- sw = log_file.AppendText();
- sw.WriteLine(DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss\t"));
- sw.WriteLine(error);
- sw.Close();
- }
- catch
- {
- StreamWriter sw_e;
- FileInfo log_error= new FileInfo(@"D:\Projects\test1.log");
- sw_e = log_file.AppendText();
- sw_e.WriteLine(DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss\t"));
- sw_e.WriteLine(error);
- sw_e.Close();
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д