Repository navigation
Releases
DartLog 0.2.0
DartLog 0.2.0
DartLog records every HTTP request your Flutter app makes while you develop and keeps it by app and by day, in a dashboard on your own computer. This release adds app logs next to requests, a waterfall view, duplicate call detection, a mock server, version comparison, notes and share packs, JSON search, OpenAPI export, terminal commands and a VS Code sidebar, plus safer masking defaults.
Install or update
Already have DartLog? Run the installer again. Your history and settings are kept:
python3 setup.py updateNew install, macOS / Linux
curl -fsSLO https://github.com/Manish1Pandey/dartlog-releases/releases/latest/download/setup.py
python3 setup.pyNew install, Windows (PowerShell)
iwr https://github.com/Manish1Pandey/dartlog-releases/releases/latest/download/setup.py -OutFile setup.py
python setup.pyThe installer downloads the right file below, checks its SHA-256, sets up PostgreSQL, starts DartLog in the background and opens the dashboard. Full guide in the README.
New
-
🌊 Waterfall: see a day's requests (or one app run) as bars on a timeline. Calls that run in parallel, slow chains, idle gaps, failures and duplicate calls stand out at a glance. Zoom, scroll, hover a bar for details, click it to open the request. Works with the keyboard, and has a table view for screen readers.
-
💻 Terminal commands:
dartlog apps,dartlog requests,dartlog showanddartlog statsanswer from your terminal, with the same filters as the dashboard (app, day, method, status, host, search) and--jsonfor scripts.dartlog show <id> --curlgives a ready-to-run cURL command. See the command line guide. -
🧩 VS Code sidebar (extension 0.4.0): a DartLog panel lists today's requests of the app you are debugging and updates by itself. Click one to read it in an editor tab; copy it as cURL or as a URL, or open it in the dashboard. Filter the list or show only errors. While you debug, the status bar counts today's requests and errors. New users don't even need the terminal: the extension offers Install DartLog and runs the installer for them.
-
🔒 Test masking: in Settings → Masking, paste a URL, headers or a JSON body and see exactly what DartLog would store. Add your own sensitive keys per app (for example
national_id) and they are masked too. -
✅ First-run checklist: until the first request arrives, the Overview shows four steps (DartLog running, phone connected, app running in debug, first request) that tick themselves off, with a hint for whatever is missing.
-
📤
dartlog exportsaves an app's day as HAR or JSON through the running DartLog, and acceptstodayandyesterday. -
📜 Logs timeline: while DartLog is attached, it also records what your app prints and logs, and its crashes with their stack traces. A Logs page shows them on one timeline with the requests, so you can follow "this tap → these requests → this exception". Filter by level, search, and jump to the logs around any request.
-
🔁 Duplicate calls: DartLog spots the same call fired twice within a second (a rebuild, a double tap, two widgets loading the same data) and shows how much time it wasted. A Duplicate calls card on the day page, a "dup" badge on repeated rows, and an Insights tile. Calls with different bodies (such as GraphQL queries) don't count.
-
🎭 Mock server: make your debug app get fake answers (an error, a slow reply, a dropped connection) built from a real recorded request in one click. Off until you switch it on, and only your own computer can reach it. See the mocking guide.
-
🆚 Compare versions: pick two versions of your app and see which endpoints got slower, started failing, are new or disappeared.
-
⭐ Notes and share packs: star requests, tag them and write notes. Export chosen requests as a
.dartlogfile that is always masked, and send it to a teammate, who can open it in their own DartLog. -
🔎 JSON search and saved searches: find requests by what is inside their JSON, for example
$.data.user.id == 42, and save any set of filters under a name to reuse in one click. -
📄 OpenAPI export: generate an OpenAPI description of the API your app actually calls, from recorded traffic, with example values always masked.
Improved
-
📊 The numbers on a day's page now follow the list's filters, so you can see the error rate or slowest calls of just one host or one endpoint. The whole day's totals stay on a line underneath.
-
🧭 Clicking an insight on the all-apps or project page opens the list of the app it belongs to.
-
🔒 New installs turn masking on explicitly, and every page shows a clear banner if masking is off. Updating keeps the choice you already made.
-
🧩 The VS Code extension has clearer settings and a new look in the Extensions view, with two new settings: how often the sidebar refreshes and how many requests it shows.
-
📚 New beginner guides: your first day, finding a bug, the waterfall, insights, masking, VS Code, the terminal, phones, and updating and backups.
-
⚡ Faster stats on busy days, and searches no longer slow down when repeated.
Fixed
-
Clock times are shown in the server's timezone, the same as the days.
-
The status breakdown counts 1xx responses (such as WebSocket upgrades).
-
Compare: sizes and durations look like the request list, the compare checkbox no longer covers the device and status, and the day list keeps its scroll position when you come back.
-
A replayed request stays in the project or all-apps view you started from.
-
A cut-off (truncated) body is marked at the top of the body view.
-
A clear message when an app id has no recorded traffic.
-
The all-apps item in the sidebar is named after the day shown; notification settings hints wrap instead of being cut off.
-
Security hardening: VS Code's "Copy as cURL", tooltips and request tabs handle unusual URLs and text safely; terminal output escapes control characters; the installer's
wgetdownload stays on HTTPS. -
Stats for busy days undercounted endpoints with IDs in their paths; the numbers are now exact.
-
Requests are no longer recorded twice when an app uses both
dartlog_clientand auto-attach. -
Saved searches are kept when you restore a backup.
-
The day's status bar is drawn again, and pages reflow at large text sizes instead of cutting words off.
Files
| File | For |
|---|---|
setup.py |
The installer (recommended) |
bootstrap.sh / bootstrap.ps1 |
Installer for machines without Python |
dartlog_0.2.0_<os>_<arch> |
The DartLog program, picked automatically by the installer |
checksums.txt |
SHA-256 of every program file |
dartlog-0.4.0.vsix |
VS Code extension (Extensions → ⋯ → Install from VSIX…) |
DartLog is free to use; see LICENSE.
DartLog 0.1.0
DartLog 0.1.0, the first release 🎉
DartLog records every HTTP request your Flutter app makes while you develop and keeps it by app and by day, in a dashboard on your own computer. No code changes, nothing uploaded.
Install
macOS / Linux
curl -fsSLO https://github.com/Manish1Pandey/dartlog-releases/releases/latest/download/setup.py
python3 setup.pyWindows (PowerShell)
iwr https://github.com/Manish1Pandey/dartlog-releases/releases/latest/download/setup.py -OutFile setup.py
python setup.pyThe installer downloads the right file below, checks its SHA-256, sets up PostgreSQL, starts DartLog in the background and opens the dashboard. Full guide in the README.
What's inside
- ⚡ Finds debug Flutter apps by itself: Android phones and emulators, iPhones and simulators
- 📅 Every request kept and grouped by app and day, with a live dashboard
- 🔍 Headers, JSON bodies, timings, errors, copy as cURL, HAR export
- 📊 Insights: error rate, slowest endpoints, busiest hours
- 🔒 Passwords, tokens, cookies and card numbers masked before saving
- 🧩 VS Code extension: DartLog in the Dart status menu (
dartlog-0.2.2.vsix)
Files
| File | For |
|---|---|
setup.py |
The installer (recommended) |
bootstrap.sh / bootstrap.ps1 |
Installer for machines without Python |
dartlog_0.1.0_<os>_<arch> |
The DartLog program, picked automatically by the installer |
checksums.txt |
SHA-256 of every program file |
dartlog-0.2.2.vsix |
VS Code extension (Extensions → ⋯ → Install from VSIX…) |
DartLog is free to use; see LICENSE.