QuickFIX: Laden Sie eine Nachricht aus den Protokollen
-
20-09-2019 - |
Frage
Ich baue ein Werkzeug, um Replay-Protokolle. Manuell die Protokolle Parsen ist ärgerlich, so frage ich mich, ob es einen Weg gibt, ist einfach eine Nachricht aus dem Protokoll zu laden.
Auch ich bin nicht gegen nur ein Drittanbieter-Replay-Tool zu verwenden, wenn ein solches vorhanden ist.
Lösung
Lesen Sie zuerst die Protokolldatei von jedem mittleren Sie wollen, bekommen die einzelnen Zeilen (es eine Nachricht pro Zeile).
bauen dann ein Data Dictionary:
// Use the version of the XML dictionary that is right for you
FIX::DataDictionary dd("FIX44.XML");
Dann wird für jede Zeile (wie std::string str
), bauen Sie eine Nachricht:
FIX::Message msg(str, dd, false);
Schließlich behandeln die Nachricht genau wie Ihre FIX :: Anwendung der Fall ist, oder besser, Anruf
yourFixApplication.fromApp(msg, mySessionID);
Andere Tipps
ValidFIX Log Analyzer ist ein Online-Log-Parser, der einen guten Job macht: http://www.validfix.com/fix-log-analyzer.html