How brianmurunga/distributed_log_processor works
Distributed Log Viewer is a dual-interface log management tool. Users either submit filters, uploads, and exports through the Flask dashboard or run CLI commands. Logs are generated, read, parsed, queried, retained, and stored in SQLite; selected records then become tables, charts, terminal output, or downloadable files. The graph preserves both interfaces and their distinct operations. Some modules use different relative SQLite filenames, so the database node represents the repository’s documented SQLite store rather than asserting one runtime path; unsampled export/template internals are shown only where tree support exists.
Components 19
User Interfaces
- Flask Dashboard
webapp/app.py - CLI Commands
src/logtool/cli.py
Log Operations
- Log Collector
src/log_collector.py - Log Generator
src/logtool/log_generator.py - Log Parser
src/log_storage.py - Date Query
src/logtool/query_logs.py - Level Query
src/log_query.py - Retention Manager
src/logtool/database.py
Persistence
- SQLite Log Store
database/logs.db
Results
- CLI Exporter
src/logtool/export_logs.py - Log Visualizer
src/logtool/visualize_logs.py - Dashboard Templates
webapp/templates/index.html - Chart Renderer
webapp/static/js/chart.js
Other components
- CLI User
- Browser User
- CSV Log File
- Source Log File
- Downloaded Report
- Terminal Results
Connections 20
- Browser User → Flask Dashboard: submits requests
- Flask Dashboard → SQLite Log Store: queries and writes
- Flask Dashboard → Dashboard Templates: renders pages
- Flask Dashboard → Chart Renderer: passes counts
- Flask Dashboard → Downloaded Report: sends export
- CSV Log File → Flask Dashboard: uploads CSV
- CLI User → CLI Commands: runs commands
- CLI Commands → Date Query: requests ranges
- Date Query → SQLite Log Store: reads logs
- CLI Commands → Retention Manager: requests deletion
- Retention Manager → SQLite Log Store: deletes old logs
- CLI Commands → CLI Exporter: exports results
- CLI Exporter → Downloaded Report: writes file
- CLI Commands → Log Generator: generates logs
- Log Generator → SQLite Log Store: inserts logs
- CLI Commands → Log Visualizer: plots results
- Log Visualizer → Terminal Results: shows chart
- Source Log File → Log Collector: reads lines
- Log Parser → SQLite Log Store: parses and stores
- Level Query → SQLite Log Store: reads by level