A lightweight, browser-based FIX 4.4 protocol log analyzer built with Python + Flask. No database, no external dependencies beyond Flask — everything runs locally.
- Upload or paste FIX 4.4 log files directly in the browser
- Multi-delimiter support — handles SOH (
\x01),|,|, and^A - Session summary — total messages, logons (35=A), logouts (35=5), MD/Quote requests (35=V/R)
- Login/Logout highlights — first and last logon/logout events, ordered by SendingTime (52)
- Subscribed pairs — unique currency pairs from 35=V and 35=R subscription messages
- Streaming indicative quotes — symbols where the last Quote (35=S) had QuoteCondition 537=0
- QuoteID search — search any QuoteID (tag 117) and see all related messages including the originating 35=V/R request
- No data stored — all parsing happens in-memory per request
Python 3.8+
Flask
git clone https://github.com/siva-balan/Log-Analyzer.git
cd Log-Analyzer
pip install flask
python fix_log_analyzer.pyThen open your browser at http://localhost:5000 (default port, can be changed by defining ports during running).
- Upload a
.logor.txtfile, or paste FIX messages directly into the text area - Click Analyze to parse and display the summary
- Use the QuoteID search box to trace a specific quote across all related messages
- Click Clear & Reload to start fresh
A sample FIX 4.4 log file (sample_fix44.log) is included in the repository to demonstrate all features. It covers:
- Logon / Logout (35=A / 35=5)
- Market Data Subscription and Unsubscription (35=V)
- Quote Request (35=R)
- Market Data Snapshot (35=W)
- Streaming Indicative Quotes (35=S with 537=0)
- Multiple currency pairs: EUR/USD, GBP/USD, USD/JPY, AUD/USD
| MsgType | Description |
|---|---|
| A | Logon |
| 5 | Logout |
| V | Market Data Request |
| R | Quote Request |
| W | Market Data Snapshot |
| S | Quote (Streaming Indicative) |
| Tag | Field Name |
|---|---|
| 35 | MsgType |
| 49 | SenderCompID |
| 52 | SendingTime |
| 55 | Symbol |
| 56 | TargetCompID |
| 58 | Text |
| 117 | QuoteID |
| 131 | QuoteReqID |
| 262 | MDReqID |
| 263 | SubscriptionRequestType |
| 537 | QuoteType |
Log-Analyzer/
├── fix_log_analyzer.py # Main Flask app with parser and UI
├── sample_fix44.log # Sample FIX 4.4 log for demo
└── README.md
MIT