Я думал о добавлении простого механизма регистрации в моем приложении, чтобы регистрировать детали ошибок, возникающих во время работы приложения.Как обрабатывать исключения во время ведения журнала?
private TextWriter m_TextWriter;
private List<string> m_LogEntries; // buffered log messages
// ...
public void Write(string message)
{
m_LogEntries.Add(message);
if (m_LogEntries.Count >= m_LogEntriesLimit)
{
Flush();
}
}
private void Flush()
{
try
{
foreach (var message in m_LogEntries)
{
m_TextWriter.WriteLine(message);
}
m_TextWriter.Flush();
}
catch
{
// How to deal with exceptions?
}
finally
{
m_LogEntries.Clear();
}
}
Данные журнала записываются в текстовый файл, поэтому во время каждой операции записи могут возникать некоторые исключения. Каков правильный способ обработки исключений, возникающих во время вызовов методов журнала? Должен ли я их поймать и игнорировать?
Другими словами, регистратор часто используется для регистрации сведений об исключениях, возникающих во время выполнения приложения. Но как обрабатывать исключения, которые могут возникать при написании сообщений журнала?
@ MickyDuncan Это мнение. Ответ на вопрос OP во фразе: «Во всяком случае, вы можете просто сделать, как сказал AnimalStyle». –
@MickyDuncan Конечно, это исключение, но это происходит, когда вы не правильно кодируете. Не похоже, что это хаотическое событие, в котором вы не контролируете ситуацию. Убедитесь, что права и пути правильные, и TextWriter работает нормально. –
Вопрос: «Как обрабатывать исключения во время ведения журнала?» Оба предложения Log4Net и то, что говорит AnimalStyle, являются обоими ответами, не так ли? @MickyDuncan –