Войти
ПрограммированиеФорумОбщее

Запись файла лога (2 стр)

Страницы: 1 2
#15

Aroch
> тебе уже сказали, перехватывай segfault и обрабатывай в нем, нет большого
> смысла каждый раз делать fflush()

а если подвисло ?

13 июня 2018

#16

innuendo
> а если подвисло ?
Ловишь SIGTERM и тогда пишешь на диск. Если конечно кто-нибудь прибьёт процесс :D

13 июня 2018

#17

Ну или реально, перекачивай свой лог трубами/сокетами в отдельную программу, fflush() на трубах/сокетах дешёвый, а у простого логопрокси меньше шансов сломаться.

13 июня 2018

#18

Aroch
> насиловать винты.
А кто сказал, что оно сразу на винт пишется?)

13 июня 2018

#19

Blew_zc
> А кто сказал, что оно сразу на винт пишется?)
http://www.cplusplus.com/reference/cstdio/fflush/

14 июня 2018

#20

Aroch
Знаю я таких. На линуксе они еще флешку сразу дергают, как написали команду umount, а то и вовсе не пишут.

14 июня 2018

#21

Любят же люди себе проблем искать. Решение же тупое-тупое. И самое главное всегда работающее. Сама ОС его реализует. Но нет, нужно обязательно свой рантайм присобачить...

Делаешь под Виндой, так не будь бараном - юзяй WriteFile. И, о чудо, ничего не теряется, запись видна сразу, никакого флуша не надо. Если пишешь до 4КБ за раз то оно ещё и потоко-безопасное.

14 июня 2018

#22

Хочу немного похвастать :) вот мой зачаток лога:

+ Показать

со временем будет наворачиваться )))

14 июня 2018 (Правка: 2:27)

#23

Bishop
> Делаешь под Виндой, так не будь бараном - юзяй WriteFile. И, о чудо, ничего не
> теряется, запись видна сразу, никакого флуша не надо.
Что? Нет, неправда, откуда ты это вообще взял?
При обычном использовании, он работает один-в-один, как fwrite, включая буферизацию в юзерспейсе; а чтобы поиметь полезности с дополнительного контроля - нужно соответствующе его обвесить, вплоть до своей собственной системы буферизации.
В любом случае, логгеру от этого ни капли не легче.

14 июня 2018 (Правка: 2:39)

#24

Blew_zc
> Знаю я таких. На линуксе они еще флешку сразу дергают, как написали команду
> umount, а то и вовсе не пишут.
факт остается фактом ос будет пытаться записать сразу после fflush, а то насколько у нее это получится это уже дело десятое.

14 июня 2018

Страницы: 1 2
ПрограммированиеФорумОбщее