GTAW-Log-Parser

GTAW-Log-Parser (blancodagoat fork) is a free Windows desktop app that converts GTA World .storage chat logs into readable, filterable text. Version 5.0.0 rebuilds the upstream AdvGTAW tool on .NET 8 with a shared library, Live Tail streaming, and an in-app auto-updater.

This fork also adds structured Serilog logging, opt-in Sentry crash reporting (off by default), an xUnit test suite, GitHub Actions CI on every push, and tag-push auto-releases with four single-file artifacts. See downloads below for framework-dependent and self-contained builds.

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.

GTAW Assistant
Full WPF app: backup, filter, themes, Live Tail, auto-updater
↓ fdd-win-x64.exe 13 MB ↓ selfcontained-win-x64.exe 175 MB
ParserMini
Minimal WinForms one-shot parser: no UI chrome, just convert
↓ fdd-win-x64.exe 1.4 MB ↓ selfcontained-win-x64.exe 163 MB

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.storage JSON 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 .storage on disk via ChatLogScanner
  • 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 Utf8JsonReader streaming
  • IWshRuntimeLibrary COM ref replaced with a managed ShellLink P/Invoke wrapper (unblocks CLI builds)
  • Nullable enabled across all projects; 45 nullable warnings fixed

New features

  • Live Tail window: FileSystemWatcher on .storage with 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.WriteLine sites replaced with structured Log.Error / Log.Information
  • Sentry.Serilog sink wired up but gated by GTAW_SENTRY_DSN env var, off by default (privacy by default)
  • Centralised in Shared/Logging.cs; both apps call Logging.Initialize() / Logging.Shutdown()

Testing and 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.

FAQ

What is GTAW-Log-Parser?

GTAW-Log-Parser is a Windows desktop utility that converts raw GTA World chatlog files into readable, formatted text. This blancodagoat fork modernizes the upstream AdvGTAW project on .NET 8.

What does this fork add?

A Live Tail window with debounced file watching, in-app auto-updater via Octokit, Serilog rolling-file logging, opt-in Sentry crash reporting, an xUnit test suite, and GitHub Actions CI that publishes four single-file release artifacts on tag push.

What do I need to run it?

Windows 10 or later. Use the framework-dependent build with .NET 8 Desktop Runtime installed, or grab a self-contained artifact from GitHub Releases that bundles the runtime.

Fork chain: AdvGTAW/GTAW-Log-Parser → blancodagoat

Original by AdvGTAW, distributed under GPLv3. This fork keeps the same license.

View source on GitHub