Вероятно, он обрабатывает информацию в журнале, как он читает. Это означает, что ей (библиотеке) не нужно выделять огромное количество памяти для хранения информации. Он может прочитать фрагмент, обработать его и выбросить. Это обычный и очень эффективный способ обработки данных.
Вы можете, например, работать построчно и анализировать каждую строку. Для фактического анализа вы можете написать конечный автомат или, если требования позволяют это, использовать регулярное выражение.
Другим подходом был бы конечный автомат, который считывает и анализирует данные. Если по какой-либо причине запись журнала занимает более одной строки, это может потребоваться.
Некоторые ссылки, связанные с конечным автоматом:
A очень простой конечный автомат, написанный на C: http://snippets.dzone.com/posts/show/3793
Много кода, связанного с Python, но некоторые разделы универсально применимы: http://www.ibm.com/developerworks/library/l-python-state.html