Лучший метод динамического журналирования при запуске программы на C#C#

Место общения программистов C#
Ответить
Anonymous
 Лучший метод динамического журналирования при запуске программы на C#

Сообщение Anonymous »

Я разрабатываю приложение на C#, и моя текущая регистрация создает StreamWriter и FileStream в начале программы следующим образом:

Код: Выделить всё

//Activate Logging
try
{
streamer = new FileStream("filepath and name", FileMode.OpenOrCreate, FileAccess.Write);
writer = new StreamWriter(streamer);
}
Перед созданием этого файла журнала происходит несколько событий, так как я использую некоторые параметры, которые необходимо проанализировать из аргументов для создания имени файла, и поэтому я сталкиваюсь с двумя проблемами.
  • Если ошибка возникает до создания этого файла, я создаю другой файл под названием «crashlog», в котором регистрируется сама ошибка. Однако иногда этот файл пуст.
  • Если возникает необработанная ошибка, даже если исходный файл журнала создан, этот файл пуст.
Это наводит меня на мысль, что журнал сбрасывается целиком после выхода из программы и закрытия потока/записи. Есть ли метод или параметр, который я упускаю из виду, который позволил бы записывать в файл по мере того, как что-то происходит? Это помогло бы мне выяснить, где именно произошел сбой.
Я подумал, как это сделать, но чувствую, что это крайне неэффективно, я имею в виду именно этот процесс.
  • Создать файл со случайно сгенерированным именем и сохранить его как переменную.
  • После анализа переменных переименуйте файл соответствующим образом.
  • Каждый раз, когда я хочу что-то записать в журнал, открывайте файл файл, добавьте новую строку, закройте файл.
  • Если произойдет сбой, переименуйте файл соответствующим образом.


Подробнее здесь: https://stackoverflow.com/questions/798 ... ns-c-sharp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»