fnb v0.12.0 - Structured Logging System¶
Release Date: 2025-08-28 Type: Minor Release Migration: No breaking changes
Release Highlights¶
This minor release introduces a comprehensive structured logging system powered by loguru, transforming fnb from a simple CLI tool into a production-ready application with enterprise-grade logging capabilities.
📊 Structured Logging System Implementation¶
Complete replacement of print-based output with professional logging:
- Print Statement Migration - All 47 print statements across 6 modules converted to structured logger calls
- CLI Integration - Every command now supports
--log-level,--verbose, and--quietoptions - Output Separation - Clean separation between user-facing output (stdout) and debugging logs (stderr/files)
- Platform Support - Cross-platform log file management with intelligent defaults
🔧 Intelligent Log Management¶
Advanced log file handling with automatic maintenance:
- Platform-Specific Locations - macOS:
~/Library/Logs/fnb/fnb.log, Linux:~/.local/share/fnb/fnb.log, Windows:%APPDATA%\qumasan\fnb\Logs\fnb.log - Automatic Rotation - Files rotate at 10MB with 7-day retention and gzip compression
- Environment Detection - Automatically disables file logging in test environments
- User Control - Set
FNB_DISABLE_FILE_LOGGING=1to disable file logging
🚀 Enhanced CLI Experience¶
Consistent logging options across all fnb commands:
- Verbosity Control -
--verbosefor debug output,--quietfor minimal output - Granular Levels -
--log-levelsupports DEBUG, INFO, WARNING, ERROR - Startup Feedback - Log file location displayed on command startup
- Backward Compatibility - All existing commands work identically
Technical Changes¶
New Architecture Components¶
logger.pyModule - Centralized LoggerManager class for logging configuration- Environment Integration - Smart detection of test vs production environments
- Memory Optimization - Conditional operations based on logging configuration
Quality Assurance Improvements¶
- Test Coverage Maintained - 87% overall coverage with 90% coverage for new logging module
- Integration Testing - All 23 integration tests pass with new logging system
- CI/CD Compatibility - Full pipeline compatibility with structured logging
Installation & Usage¶
No changes to installation - logging features are automatically available:
# Installation remains the same
pip install fnb
# All commands now support logging options
fnb status --verbose # Debug-level output
fnb fetch logs --quiet # Warnings and errors only
fnb sync data --log-level INFO # Standard operational output
Implementation Metrics¶
- Development Time: 3 days of focused implementation
- Code Changes: 19 commits covering implementation, testing, and documentation
- Modules Updated: 6 core modules with logging integration
- Test Success: 118/124 unit tests (95.2%), 23/23 integration tests (100%)
Community Impact¶
- Better Troubleshooting - Detailed logs help users diagnose issues effectively
- Script-Friendly -
--quietmode perfect for automated workflows and scripts - Developer Experience - Enhanced debugging with comprehensive logging throughout the application
- Professional Quality - Structured approach to information output improves reliability
Migration Guide¶
No migration required - fnb v0.12.0 maintains full backward compatibility:
- All existing commands work exactly as before
- Configuration files remain unchanged
- Existing workflows continue without modification
- New logging options are available but optional
Resources¶
- Documentation: https://fnb.readthedocs.io/
- Release Notes: https://fnb.readthedocs.io/en/latest/releases/
- Installation Guide: https://fnb.readthedocs.io/en/latest/usage/installation/
- Configuration Guide: https://fnb.readthedocs.io/en/latest/usage/configuration/