GTAW-LOG-PARSER
A fork of
AdvGTAW/GTAW-Log-Parser, the
long-running community tool that converts the .storage chat logs GTA World
writes during play into readable, filterable text. The original ships two apps: a minimal
WinForms parser (ParserMini.exe) and a fuller WPF assistant
(GTAWAssistant.exe) with backup, filtering, and themes. Upstream development
slowed in 2024 after light contributor patches for the GTA5 Enhanced launcher and a regex
cleanup.
This fork (v5.0.0) rebuilds both apps on .NET 8, extracts a shared class library,
modernizes the threading and theming stacks, and ships ship-readiness foundations the
original didn't have: an xUnit test suite, structured Serilog logging, opt-in Sentry crash
reporting (off by default, gated by GTAW_SENTRY_DSN), GitHub Actions CI on
every push, and a tag-push auto-release workflow. Two new user-facing features land on top
of that: a Live Tail window for streaming chat lines as they're written, and an in-app
auto-updater that downloads and swaps the running executable.
DOWNLOADS — v5.0.0
Two apps, two flavors each. fdd builds need the .NET 8 Desktop Runtime installed (most modern Windows machines have it — recommended). selfcontained builds bundle the runtime: bigger, but no install needed.
All releases · github.com/blancodagoat/GTAW-Log-Parser/releases · CHANGELOG.md
WHAT IT DOES (UPSTREAM)
Core capabilities inherited from AdvGTAW/GTAW-Log-Parser and preserved in this fork:
-
Parses GTA World
chatlog.storageJSON into readable text (IC, OOC, /me, /do, /pm, radio, phone, dispatch …) -
ParserMini — minimal WinForms one-shot: drop a
.storage, get text out - GTAW Assistant — full WPF app with persistent settings, MahApps Metro theming, accent colors, light / dark / sync-with-system
-
Auto-detects the GTA V process (Legacy + Enhanced) and locates the newest
.storageon disk viaChatLogScanner - Background backup controller — periodic dumps of the parsed log to a chosen folder
- Filter window with regex criteria, message-type toggles, and quick filtering
-
Localization layer (multiple UI languages) via
LocalizationController - Update-check against GitHub releases
MODERNIZATION (.NET 8)
- Both apps migrated from .NET Framework 4.8 to .NET 8 (net8.0-windows)
- SDK-style csproj (~300 lines of XML removed)
-
New
Shared/class library: ChatLogParser, ChatLogScanner, LocalizationController -
MahApps.Metro 1.6.5 → 2.4.10 (theming API rewrite,
ThemeManager.Current) - Octokit 0.48 → 14, MahApps.IconPacks 3.7 → 5.0, Extended.Wpf.Toolkit 4.0 → 4.7
-
Costura.Fody / Resource.Embedder dropped in favour of
PublishSingleFile - BackupController: Thread + bool flags + Thread.Sleep polling → Task + CancellationToken + Task.Delay (kills the 10s shutdown latency)
- Regex-over-JSON parser replaced with
Utf8JsonReaderstreaming -
IWshRuntimeLibrary COM ref replaced with a managed
ShellLinkP/Invoke wrapper (unblocks CLI builds) - Nullable enabled across all projects; 45 nullable warnings fixed
NEW FEATURES
-
Live Tail window —
FileSystemWatcheron.storagewith 200 ms debounce; on every change, re-parses, diffs against the previous full log, appends only new lines, auto-scrolls. Optional timestamp strip + Clear button. - In-app auto-updater — uses Octokit to locate the matching framework-dependent asset, downloads it next to the running exe, then spawns a one-liner that waits 2 s, swaps over the running exe, and restarts. Falls back to opening the releases page on failure.
OBSERVABILITY
-
Serilog rolling-file sink at
%LocalAppData%\GTAW-Log-Parser\logs\, retained 7 days -
14 silent
Debug.WriteLinesites replaced with structuredLog.Error/Log.Information -
Sentry.Serilog sink wired up but gated by
GTAW_SENTRY_DSNenv var — off by default (privacy by default) -
Centralised in
Shared/Logging.cs; both apps callLogging.Initialize()/Logging.Shutdown()
TESTING & RELEASES
-
xUnit test project (
Shared.Tests): 19 tests across ChatLogParser, ChatLogScanner, LocalizationController -
GitHub Actions
build.yml: build + test on every push/PR (windows-latest) -
GitHub Actions
release.yml: tag-push publishes 4 single-file artifacts (fdd + self-contained × Parser + Assistant) and creates the GitHub release - CHANGELOG.md in Keep a Changelog format
HOSTING
Running a FiveM server for your GTA V roleplay content? I use ZAP-Hosting for FiveM hosting. Use my link for 20% off for the life of the server.
Affiliate link — I may earn a commission at no extra cost to you.