2.1 KiB
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.mmmwith 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
3786959— Initial commit - Video Player Log Analyzer with comprehensive print report feature- Related repo: https://gitea.hideawaygaming.com.au/jessikitty/moonlight-drive-in