💬Python👤towarisch@twrsch💬14 ответов📅 5 января 2026 г. в 15:56

Ребят, значит есть лог-файл, который прям очень быстро наполняется (по 10-12к записей в минуту) и...

Ребят, значит есть лог-файл, который прям очень быстро наполняется (по 10-12к записей в минуту) и мне нужен питонячий объект, который постоянно будет содержать последние N строк (миллион по умолчанию), какой самый быстрый/правильный способ реализации? tail -f по сути нужен.
Реклама
📢

Дигитал трафик

Канал о digital-маркетинге, трафике и росте бизнеса

@trafficisobar

Ответы14

T
towarisch@twrsch👍1⭐ Лучший ответ
5 янв., 18:56
Так а кто сказал, что мне они нужны
🤯1
K
Kim Young@ganukalat👍1
5 янв., 19:06
Если у тебя logging, сделай хендлер MemoryLogger, в котором будет last n записей
🤯1
キラくん [Kira]@Kira_worker👍1
5 янв., 19:12
а кто запрещает форк сделать?
🤯1
T
Tishka17@Tishka170
5 янв., 15:59
tail -f кроме того что просто читает файл ещё следит за его обновлениями
T
towarisch@twrsch0
5 янв., 15:59
Это и нужно. Ласт миллион строк
T
Tishka17@Tishka170
5 янв., 16:02
тут бы рабочий найти, А не быстрый
E
evle@evle_zzz0
5 янв., 16:02
Тебе "как хранить" или "как поддерживать актуальность"? Это разные задачи.
T
towarisch@twrsch0
5 янв., 16:04
Рабочий я накидал, читаю файл снизу вверх через ммап, догоняю стек до последней строки, дальше читаю сверху вниз с оффсетом (логи включают таймкоды, оффсет легко найти) и докидываю в стек
Ч
Чэба@zamut_bez_zabot0
5 янв., 16:04
не баг, а фича
T
Tishka17@Tishka170
5 янв., 16:05
а как понимаешь когда надо перечитывать?
T
towarisch@twrsch0
5 янв., 16:09
Перечитывать при первом запуске. Не понял вопрос тбх
T
Tishka17@Tishka170
5 янв., 16:18
ты говоришь что как tail -f, значит надо следить за новыми строками постоянно
Не нужны тебе логи в файл, брат, поверь
T
towarisch@twrsch0
5 янв., 19:07
Логирует не мой софт. Я бы по protobuf их пушил бы, если б мой софт