Хранение исключений в плоском файле - PullRequest
1 голос
/ 25 сентября 2010

В любом приложении мы можем вести журнал ошибок, используя плоскую файловую систему.

Как мы справляемся со сценарием, когда несколько пользователей имеют исключения, которые зарегистрированы в одном плоском файле?

Большое спасибо.

Ответы [ 2 ]

2 голосов
/ 25 сентября 2010

Вы получите блокировку записи в файл журнала перед регистрацией исключения.Если кто-то еще пытается войти в систему, когда вы находитесь в процессе написания, его запрос блокировки будет ждать, пока вы не отпустите его.

В качестве альтернативы, если такая вещь доступна, используйте операцию записи в атомарный файл для регистрацииполное исключение.

1 голос
/ 26 сентября 2010

Вы можете создать один поток для записи исключений, чтения из очереди. Фактический код обработки исключений записывает исключение в очередь. Поскольку файл записывается только одним потоком, все сериализуется. Конечно, вам нужна реализация очереди, ориентированной на многопотоковое исполнение, но ваш язык или инфраструктура, вероятно, предоставляют такую ​​возможность.

...