Files
video-player-log-analyzer/.claude-context/sessions/2026-01-19-log-parsing-print-report.md
T

2.1 KiB

Log Analyzer with Time-Only Timestamp Parsing and Print Report

Date: 2026-01-19 Project: video-player-log-analyzer Status: resolved Tags: html, javascript, chart.js, log-parsing, regex, reporting, moonlight-drive-in

Context

Jess wanted a way to see how the Moonlight Drive-In player is actually used — what gets played, when, and how often — from the player's log files, plus a printable activity report. The first version parsed nothing useful: its regexes expected full date-time stamps, but the player logs only contain time-of-day.

Key Decisions

  • Single self-contained HTML file — open locally in a browser, load log files, no server or install. Fits a Windows host with no dev tooling.
  • Verify the real log format before writing parsers — logs use HH:MM:SS.mmm with no date; the date is taken from the log filename (or scanned from content) instead.
  • Group by date and hour — earlier charts aggregated everything into one set of hourly totals, hiding day-to-day patterns.
  • Chart.js for charts — simple, CDN-loadable, good enough for dashboards.
  • Dedicated print report with print-friendly styling rather than printing the dashboard as-is.

Technical Details

  • File: video_player_log_analyzer.html (HTML + inline JS/CSS, Chart.js).
  • Input: Moonlight player log files; date derived from filename, time from each line.
  • Views: statistics dashboard, interactive charts (hourly activity per date), video playback analytics, print-ready activity report.

Code Changes

  • video_player_log_analyzer.html — new; parser, dashboards, charts, print report.
  • README.md — usage docs.

Open Questions / Next Steps

  • Parsing is tied to the current log line format — if the player's logging changes, update the regexes first.
  • Possible: include NFC client / LEGO Dimensions portal events once those log to the same place.

Artifacts