|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.02.2009, 11:34 | #1 |
Новичок
Джуниор
Регистрация: 20.02.2009
Сообщений: 2
|
Быстрая запись лог-файла
Добрый день, коллеги. Возникла такая загвоздка. Есть приложение, оно записывает лог-файл. Чтобы записать строчку, файл открывается, записывается строчка, потом файл закрывается. Это получается медленно - зря тратится время на открытие/закрытие. Чтобы работало быстрее, было бы неплохо файл открыть один раз - при старте и закрыть при выходе из приложения. Но. Если происходит ошибка или зависание(такое бывает, идет отладка), после перезагрузки содержимое файла оказывается пустым, потому что файл не был закрыт.
Как сделать так, чтобы при неожиданном зависании/перезагрузке лог-файл сохранял бы свое содержимое? |
20.02.2009, 13:34 | #2 |
Пользователь
Регистрация: 23.10.2008
Сообщений: 48
|
Код:
|
20.02.2009, 13:53 | #3 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,547
|
Можно накапливать логи в буфер и периодически сбрасывать в файл. Это даст + в скорости и в случае зависания потеряем не все логи, а только часть последних.
А можно выделить отдельный процесс, который будет заниматься только логами. Если в основном процессе происходит авария, второй процесс сбрасывает накопившиеся логи в файл. E-Mail: arigato.freelance@gmail.com
|
20.02.2009, 15:59 | #4 |
Новичок
Джуниор
Регистрация: 20.02.2009
Сообщений: 2
|
Спасибо!
setvbuf попробовал - работает |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
запись файла на винт | TEHb | Операционные системы общие вопросы | 2 | 05.02.2009 10:13 |
Запись/чтение из файла (С++) | alexov | Общие вопросы C/C++ | 15 | 18.01.2009 17:35 |
Создание лог-файла | ScreN | Общие вопросы Delphi | 8 | 11.01.2009 11:28 |
Запись и чтение файла... | Altera | Общие вопросы Delphi | 5 | 06.05.2008 20:22 |