11# reqlog
22
33<p align =" center " >
4- <b >Search and trace requests across files, Docker logs , and remote hosts.</b ><br />
5- Debug distributed systems from your terminal using simple key/value search without relying on centralized tracing.
4+ <b >CLI for searching, tracing, and streaming logs across files, Docker containers , and remote hosts.</b ><br />
5+ Trace requests across distributed systems using request_id, trace_id, correlation_id, and key/value log search — without centralized tracing.
66</p >
77
88<p align =" center " >
1818
1919![ reqlog demo] ( ./assets/demo.gif )
2020
21- ## Installation
21+ ## Table of Contents
2222
23- ** Go Install**
23+ - [ What is reqlog] ( #what-is-reqlog )
24+ - [ Features] ( #features )
25+ - [ Quick Start] ( #quick-start )
26+ - [ Installation] ( #installation )
27+ - [ Companion UI] ( #companion-ui )
28+ - [ Usage] ( #usage )
29+ - [ Supported Log Formats] ( #supported-log-formats )
30+ - [ What's Next] ( #whats-next )
2431
25- ``` bash
26- go install github.com/sagarmaheshwary/reqlog/cmd/reqlog@latest
27- ```
32+ ## What is reqlog?
2833
29- ** macOS / Linux **
34+ reqlog is a CLI tool for searching, tracing, and streaming logs across:
3035
31- ``` bash
32- curl -sSL https://raw.githubusercontent.com/sagarmaheshwary/reqlog/master/install.sh | bash
33- ```
36+ - local log files
37+ - Docker containers
38+ - remote servers over SSH
3439
35- - Auto-detects OS/arch
36- - Installs latest version
37- - Installs to ` /usr/local/bin `
40+ It helps engineers debug requests across microservices and distributed systems using:
3841
39- Verify:
42+ - ` request_id `
43+ - ` trace_id `
44+ - ` correlation_id `
45+ - custom log keys
4046
41- ``` bash
42- reqlog -v
43- ```
47+ Use reqlog when logs are spread across services or hosts, centralized tracing is unavailable, or you need fast terminal-based debugging.
4448
45- ** Windows **
49+ > grep for distributed systems logs
4650
47- Download from:
51+ Unlike ` grep ` , reqlog understands timestamps, JSON logs, Docker logs, multi-host SSH search, chronological request flow, and live log streaming.
4852
49- [ https://github.com/sagarmaheshwary/reqlog/releases ] ( https://github.com/sagarmaheshwary/reqlog/releases )
53+ ## Features
5054
51- Then:
52-
53- - unzip
54- - add to ` PATH `
55-
56- Verify:
57-
58- ``` bash
59- reqlog -v
60- ```
55+ - Search logs across multiple files
56+ - Trace requests using ` request_id ` , ` trace_id ` , and ` correlation_id `
57+ - Stream live logs in real time ( ` -f ` )
58+ - Search and stream Docker container logs
59+ - Search and stream logs on remote servers over SSH
60+ - JSON log parsing with automatic detection
61+ - Chronological request tracing across services
62+ - Context around matches ( ` --context ` )
63+ - Structured JSON output for scripting
64+ - Time-based filtering ( ` --since ` )
6165
6266## Quick Start
6367
@@ -71,6 +75,12 @@ Search log files:
7175reqlog abc123
7276```
7377
78+ Stream live logs in real time:
79+
80+ ``` bash
81+ reqlog -f abc123
82+ ```
83+
7484Search Docker containers:
7585
7686``` bash
@@ -93,6 +103,53 @@ Example output:
931032026-03-20T14:10:03.000Z [inventory-service] | checking stock level=info request_id=abc123
94104```
95105
106+ ## Installation
107+
108+ ** Go Install**
109+
110+ ``` bash
111+ go install github.com/sagarmaheshwary/reqlog/cmd/reqlog@latest
112+ ```
113+
114+ ** macOS / Linux**
115+
116+ ``` bash
117+ curl -sSL https://raw.githubusercontent.com/sagarmaheshwary/reqlog/master/install.sh | bash
118+ ```
119+
120+ - Auto-detects OS/arch
121+ - Installs latest version
122+ - Installs to ` /usr/local/bin `
123+
124+ Verify:
125+
126+ ``` bash
127+ reqlog -v
128+ ```
129+
130+ ** Windows**
131+
132+ Download from:
133+
134+ [ https://github.com/sagarmaheshwary/reqlog/releases ] ( https://github.com/sagarmaheshwary/reqlog/releases )
135+
136+ Then:
137+
138+ - unzip
139+ - add to ` PATH `
140+
141+ Verify:
142+
143+ ``` bash
144+ reqlog -v
145+ ```
146+
147+ ## Companion UI
148+
149+ Visual interface for exploring reqlog results in the browser:
150+
151+ https://github.com/sagarmaheshwary/reqlog-ui
152+
96153## Usage
97154
98155``` bash
@@ -247,19 +304,6 @@ reqlog -f abc123
247304
248305> Full usage guide: [ docs/usage.md] ( ./docs/usage.md )
249306
250- ## Why not just use ` grep ` ?
251-
252- | Problem | grep | reqlog |
253- | ------------------------------- | --------: | ----------: |
254- | Multi-file search | ⚠️ manual | ✅ built-in |
255- | Multi-host / SSH log search | ❌ | ✅ |
256- | Request tracing across services | ❌ | ✅ |
257- | JSON log search | ❌ | ✅ |
258- | Chronological request flow | ❌ | ✅ |
259- | Service-aware context | ❌ | ✅ |
260-
261- > ` reqlog = grep for distributed systems `
262-
263307## Supported Log Formats
264308
265309** Supported Timestamp Formats**
@@ -298,33 +342,26 @@ Timestamps are normalized to millisecond precision in output (fixed 3 digits).
298342{ "ts" : 1710943200123 , "request_id" : " abc" , "message" : " unix milliseconds" }
299343```
300344
301- ## Roadmap
302-
303- ** Core Features**
345+ ## What’s Next
304346
305- - [x] Flexible timestamp parsing (RFC3339 / RFC3339Nano)
306- - [x] Text log parsing (key=value)
307- - [x] JSON log parsing
308- - [x] Wildcard support in ` --service ` (e.g. order-service\* )
309- - [x] Unix timestamp support (logs + ` --since ` )
310- - [x] Optimize ` --limit ` (early exit / streaming)
311- - [x] ` --latest ` flag (Return latest N entries globally)
312- - [x] ` --context ` flag (show surrounding lines)
313- - [x] ` --output=json ` for piping and integrations
314- - [ ] ` --fields ` flag for JSON logs
347+ ` reqlog ` now supports the core workflows it was built for:
315348
316- ** Performance & Scalability**
349+ - Search local log files
350+ - Search Docker logs
351+ - Search remote logs over SSH
352+ - Trace requests across services using common keys like ` request_id ` , ` trace_id ` , and ` correlation_id `
353+ - Output structured JSON for piping and automation
317354
318- - [ ] Parallel scanning
319- - [ ] General performance improvements
355+ Future updates will mainly focus on:
320356
321- ** Integrations**
357+ - Bug fixes and stability improvements
358+ - Output and usability improvements
359+ - Performance tuning over time
360+ - Additional features based on real-world usage and feedback
322361
323- - [x] File logs
324- - [x] Docker logs
325- - [x] SSH-based multi-host logs
362+ ### Planned
326363
327- > Companion web UI for reqlog: https://github.com/sagarmaheshwary /reqlog-ui
364+ - [ ] ` --fields ` flag for selecting specific fields from JSON logs ( [ # 14 ] ( https://github.com/SagarMaheshwary /reqlog/issues/14 ) )
328365
329366## Support & Contributions
330367
0 commit comments