Вниз
Скачать: CL | DM;

Запись в файл   Найти похожие ветки 

← →
Прямой   (2004-01-05 17:14) [0]

Прога сторонних разработчиков пишет лог. Новый лог-файл создается 1 раз в сутки, но не в 00:00, а в "старый" запись более не ведется. Как отловить тот момент из моей проги, что запись более не ведется. Примечание, лог-файл открыт не для монопольной записи!


← →
YuRock ©   (2004-01-05 17:30) [1]

Можно время-от-времени пробовать переименовывать/переносить файл. Если удастся - значит, файл НИКЕМ не открыт.


← →
default ©   (2004-01-05 17:32) [2]

если я всё правильно понял, запись не ведётся после того как создаётся новый лог-файл, так вот на это событие и надо тогда активизироваться...


← →
Прямой   (2004-01-05 17:40) [3]

default
Нет,они создаются внахлест. Вначале суток.
Далее в предидущий файл запись не ведется.
например
20030101 дата создания 00:05:25
20030102 дата создания 00:03:44

YuRock
Я же говорю что не для монопольной записи.
Можно его скопировать и в середине суток, и скопируется.
Книжку Румянцева "Работа с файлами Win32Api" я хорошо знаю.


← →
YuRock ©   (2004-01-05 17:43) [4]

> Книжку Румянцева "Работа с файлами Win32Api"

:))))))

> Можно его скопировать и в середине суток, и скопируется

Так скопируется, или перенесется (с удалением)?


← →
Прямой   (2004-01-05 17:47) [5]

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


← →
panov ©   (2004-01-05 17:51) [6]

>Прямой

Может быть несколько методов записи.

1. Файл открывается для добавления записи каждый раз, после этого закрывается.
2. Файл открывается не монопольно и закрывается только после окончания работы с ним.
----------
По методам обновления может быть такая разница:

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

Можно узнать, как работает программа у тебя?


← →
Прямой   (2004-01-05 18:03) [7]

panov

Пункт 2
Пункт г, но с оговоркой. Остатки незавершенных процессов прошедших суток, продолжают дописываться в старый лог-файл, получается, что в некий момент(при переходе суток), ведется запись в 2 файла(но не долго, в среднем 3-5мин.).Соответственно то,что "случилось" в прошлые сутки дописывается в старый лог, а все что уже случилось в новых сутках , начинается писаться в новый лог.


← →
panov ©   (2004-01-05 18:47) [8]

Тогда метод решения такой:
Периодически пытаемся открыть файл монопольно с запретом доступа всем остальным(На запись/чтение - неважно).
Удачный захват файла означает его освобождение другими процессами, т.е. окончание записи.


← →
Sandman25 ©   (2004-01-05 18:50) [9]

А почему бы не попытаться найти оба файла?
Если у двух последних log файлов время последней записи различается меньше, чем на 3-5 минут, то ждем, есть опасность того, что во второй все еще ведется запись.


← →
Прямой   (2004-01-05 18:53) [10]

Спасибо, буду пробовать, если не выйдет, темку апну.


← →
YuRock ©   (2004-01-05 18:54) [11]

> panov © (05.01.04 18:47) [8]

+ еще проверив существование "нового" файла, на сколько я понял.


← →
Прямой   (2004-01-05 18:57) [12]

Sandman25

Повторюсь, процессы критические, если что-то не так пойдет, это потребует, в том числе, выезд специалистов в любое время суток. Обычно 3-5 минут, но в случае перегруза сервака, может доходить до 20 минут.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.025 c
14-49687
PVOzerski
2003-12-26 12:05
2004.01.16
А где в Питере ёлку подешевле купить можно?


1-49566
Denis
2004-01-06 14:40
2004.01.16
Как установить цвет RadioGroup.Caption отличным от Items


3-49450
zzzrrv
2003-12-18 10:18
2004.01.16
Проблема Delphi7 и Oracle ?


14-49760
}|{yk
2003-12-22 17:44
2004.01.16
Кстати. А почему-таки умер С++Builder?


14-49688
kull
2003-12-16 12:55
2004.01.16
Тест Джоэла: 12 шагов к лучшему коду




   Наверх