@KOS_MOS

Отложенное создание файлов в PHP (Python)?

Есть система которая ведет логи посредством Zend_Log_Writer_Stream, сообщения пишутся в файлы.

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

Поэтому возникает куча пустых файлов.


Есть ли в PHP (для Python тоже актуально) механизм отложенного создания файлов — то есть файл создатся только тогда когда в него начнется запись и не создатся если записи в него не будет.
  • Вопрос задан
  • 2497 просмотров
Пригласить эксперта
Ответы на вопрос 3
zizop
@zizop
Скажу про PHP. Насколько я знаю, fopen открывает дескриптор, соотвесттвенно создает файл. А если не вызывать fopen, а реализовать уровнем выше, т.е. перехватывать операцию записи и проверять открыт ли файл. Если не открыт — то открывать. Вообщем, я бы отнаследовался от Zend_Log_writer_Stream и дописал бы нужное.
Ответ написан
taliban
@taliban
php программист
В пхп/питоне есть замечательная вешь, которая называется ООП, с ее помошью можно создать обьект, наследоваться от (в данном случае) Zend_Log_Writer_Stream и, как это ни странно, переопределить нужные методы, заменив ожидаемой логикой.
Ответ написан
Комментировать
SolarSoul
@SolarSoul
Мне кажется что можно написать несложную обёртку над классом файла, в Python я думаю точно можно.
На самый худой конец можно просто проверять размер файла в деструкторе обёртки, и удалять файл если он пуст.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы