Skip to content

Commit 6ef6ed7

Browse files
Merge pull request #45 from SagarMaheshwary/docs/v0.7.0
docs: improve README structure, messaging, and navigation
2 parents 6124388 + bb4e162 commit 6ef6ed7

1 file changed

Lines changed: 102 additions & 65 deletions

File tree

README.md

Lines changed: 102 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
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">
@@ -18,46 +18,50 @@
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:
7175
reqlog abc123
7276
```
7377

78+
Stream live logs in real time:
79+
80+
```bash
81+
reqlog -f abc123
82+
```
83+
7484
Search Docker containers:
7585

7686
```bash
@@ -93,6 +103,53 @@ Example output:
93103
2026-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

Comments
 (0)