Подскажите как обрезать лог

micolo

Новичок
Подскажите как обрезать лог

Доброго времени суток уважаемые знатоки! Пишу скрипт для отчистки логов и столкнулся с проблей, решить самому которую не получается.
В файл через каждые 10 минут дописываются логи такого плана:

#EndData: ........
#Time: ........
68 0 6348 1090 17 17 0 0 808 0
68 0 6348 1090 17 17 0 0 808 0
и т.д.

иногда они приходят просто без цифр

#EndData: ........
#Time: ........

ну и общая картина куска лога примерно такая:

#EndData: ........
#Time: ........
68 0 6348 1090 17 17 0 0 808 0
68 0 6348 1090 17 17 0 0 808 0
68 0 6348 1090 17 17 0 0 808 0
68 0 6348 1090 17 17 0 0 808 0
#EndData: ........
#Time: ........
68 0 6348 1090 17 17 0 0 808 0
68 0 6348 1090 17 17 0 0 808 0
68 0 6348 1090 17 17 0 0 808 0
68 0 6348 1090 17 17 0 0 808 0
#EndData: ........
#Time: ........
68 0 6348 1090 17 17 0 0 808 0
68 0 6348 1090 17 17 0 0 808 0
68 0 6348 1090 17 17 0 0 808 0
68 0 6348 1090 17 17 0 0 808 0
#EndData: ........
#Time: ........
#EndData: ........
#Time: ........
#EndData: ........
#Time: ........

необходимо чтобы при чистке логов если лог приходит без цифр:

#EndData: ........
#Time: ........

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

micolo

Новичок
так мне же как бы нужен не шаблон форматирования строки, а механизм отлова куска лога, который без цифр
 

Alexandre

PHPПенсионер
так мне же как бы нужен не шаблон форматирования строки, а механизм отлова куска лога, который без цифр
micolo, так тебе и предлагают отлавливать регулярными выражениями, как говорил мной комзвода: "учи матчасть", они (реги) могут почти все ;). Это очень мощный аппарат.
sakonа ты представляешь, лог в пару мегабайт, и сколько же времени понадобится на его обработку регулярными выражениями???
 

dorfey

Guest
Alexandre
я бы сказал что пхп для обработки подобных логов вообще не подходит. все свои серверные логи я например обрабатываю с помощью скриптов написанных исключительно на питоне.
 

Фанат

oncle terrible
Команда форума
dorfey
давай ты научишься писать БЕЗ оффтопика?
поверь - мы все уже впечатлены агромадным объемом твоих знаний и умений. Уже не нужно демонстрировать их на каждом шагу. Мы запомнили.
Постарайся теперь писать о гиговых логах в топиках про гиговые логи, а про превосходство питона над пхп - и вовсе в другом месте.
Спасибо за сотрудничество.
 

micolo

Новичок
ребятя, я не очень силён в регулярных выражения. я использовал их лишь для шаблонов ну там для соответствия формату определённой строки. в моём варианте как мне думается несколько иной смысл. получатся что такие строки как ни крути всё равно в логах присутствуют. может кто нить хотя бы на словах объяснит как с помощью регов отследить где такая строка имеет право быть а где нет
 

Alexandre

PHPПенсионер
если файл большой (>1 мег) , то я бы чистку логов сделал исключительно средствами fget, sttpos, fwrite
- читаешь посимвольно строку,
если начало строкки = #Time запоминаешь строку
- читаешь след запись
если начало след записи != #EndData: то выводишь строку #Time , потом текущую строку,

вводишь след строку и шаг 1
 
Сверху