Configure Ruff as the code formatter and linter with pre-commit hooks.
Applied automatic formatting fixes across the entire codebase including:
- Import sorting and organization
- Code style consistency (spacing, line breaks, indentation)
- String quote normalization
- Removal of trailing whitespace and unnecessary blank lines
- Add consistent logging format across all modules (timestamp, file:line, PID, level)
- Add startup logging for MQTT connection, web server startup with URL display
- Add MQTT message processing metrics (count and rate logging every 10k messages)
- Add graceful shutdown handling with signal handlers and PID file cleanup
- Add configurable HTTP access log toggle via config.ini (default: disabled)
- Replace print() statements with proper logger calls throughout
- Update .gitignore to exclude PID files (meshview-db.pid, meshview-web.pid)
- Update documentation for new logging configuration options
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>