QuickFIX: Загрузить сообщение из логов

Я создаю инструмент для воспроизведения журналов. Вручную анализировать журналы раздражает, поэтому мне интересно, есть ли способ просто загрузить сообщение из журнала.

Кроме того, я не против использования стороннего инструмента воспроизведения, если он существует.


person Jonathan Allen    schedule 11.01.2010    source источник
comment
Какие журналы? *.messages.current.log (или *.messages.log в старых версиях QuickFIX)? Или те, что из FileStore? Используете ли вы одну или обе эти дополнительные части QuickFIX (они доступны через ваш файл конфигурации).   -  person John Zwinck    schedule 17.01.2010
comment
Какие бы журналы вы ни посоветовали мне использовать, я не привередлив и имею доступ ко всем из них.   -  person Jonathan Allen    schedule 17.01.2010
comment
Не могли бы вы уточнить, что вы имеете в виду под повтором? Вам нужен просмотрщик журналов, который позволит вам просматривать сообщения для сеанса в удобном формате, или приложение, которое может анализировать, а затем запускать исторические сообщения в другой сеанс FIX?   -  person Ani    schedule 26.01.2011
comment
Мне нужно приложение, которое может анализировать, а затем запускать исторические сообщения в другой сеанс FIX.   -  person Jonathan Allen    schedule 30.01.2011
comment
Поскольку первоначальный вопрос можно было интерпретировать по-другому (теперь поясняется в комментарии), я нашел hffix для быть очень полезным инструментом командной строки для воспроизведения журналов FIX в удобочитаемом формате.   -  person Stephen Morrell    schedule 20.12.2018


Ответы (2)


Сначала прочтите файл журнала любым удобным для вас способом, получая отдельные строки (в строке одно сообщение).

Затем создайте словарь данных:

// Use the version of the XML dictionary that is right for you
FIX::DataDictionary dd("FIX44.XML");

Затем для каждой строки (как std::string str) создайте сообщение:

FIX::Message msg(str, dd, false);

Наконец, обработайте сообщение так же, как это делает ваш FIX::Application, или лучше, вызовите

yourFixApplication.fromApp(msg, mySessionID);
person Gabriel    schedule 23.09.2011
comment
Вы можете или не хотите также обновлять любые поля меток времени в сообщениях. - person shaz; 30.07.2016
comment
Как бы вы разобрали полученное сообщение? Я ищу quickfix документацию по классу Message и нигде не могу найти - общий документ, похоже, не ссылается на него... - person gt6989b; 17.04.2018

ValidFIX Log Analyzer — это онлайн-анализатор журналов, который отлично справляется со своей задачей: http://www.validfix.com/fix-log-analyzer.html

person MichaelS    schedule 20.07.2011
comment
Раньше это было бесплатно, а теперь стало коммерческим. Это отличный инструмент, эффективный, быстрый, веб-интерфейс. Но сейчас это дорого для человека. Но для компании это кажется отличным, потому что у него неограниченное количество применений и неограниченное количество пользователей. - person Wayne; 13.03.2012
comment
Если необходимо быстро отобразить FIX в удобочитаемом формате, попробуйте анализатор FIX по адресу fixparser.targetcompid.com. - person Shahbaz; 07.02.2013