šŸ“ Project: Log Analyzer

šŸ“š Lesson 12: Logging & Debugging ā± 25-30 min šŸ“Š Intermediate
šŸŽÆ Objective

Build a tool that reads, parses, filters, and analyzes log files. Generate statistics, filter by severity or date range, and export filtered results.

Requirements

  1. Parse log entries with timestamp, level, logger name, and message
  2. Filter logs by severity level (INFO, WARNING, SEVERE, etc.)
  3. Filter by date range (start and end dates)
  4. Search logs by keyword
  5. Generate statistics (counts by level, most active loggers)
  6. Export filtered results to a new file

Expected Output

Terminal
╔══════════════════════════════════╗
ā•‘         LOG ANALYZER              ā•‘
ā•šā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•

šŸ“‚ Reading log file: app.log
āœ… Found 150 log entries

šŸ“Š Log Level Distribution:
──────────────────────────
INFO     : ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ 85 (56.7%)
WARNING  : ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆ 42 (28.0%)
SEVERE   : ā–ˆā–ˆā–ˆ 15 (10.0%)
CONFIG   : ā–ˆ 5 (3.3%)
FINE     : ā–ˆ 3 (2.0%)

šŸ” Most Active Loggers:
  1. http_client    : 45 entries
  2. auth_service   : 32 entries
  3. data_parser    : 28 entries

āš ļø  Recent Warnings (last 5):
  [10:30] auth_service: Failed login attempt
  [10:28] http_client: Slow response detected
  ...

šŸ“ Exporting filtered results to: warnings_only.log
āœ… Exported 42 entries