http_client_logger 1.1.3
http_client_logger: ^1.1.3 copied to clipboard
Dart package that seamlessly adds HTTP traffic logging to your Dart or Flutter project.
1.1.3 #
Features #
- π€ Enhanced Encoding Detection: Improved response body decoding using proper charset detection
- π Better International Support: UTF-8 default for JSON, charset parameter parsing from Content-Type headers
- π§ HTTP Package Compatibility: Encoding detection follows the same patterns as the official
http
package
Technical Improvements #
- π¦ Added
http_parser
dependency: For proper MediaType parsing and charset detection - π― Smart Charset Handling: UTF-8 for
application/json
, charset parameter parsing,latin1
fallback - π Borrowed Methods:
_toUint8List()
and_encodingForHeaders()
methods adapted fromhttp
package - π‘οΈ Robust Error Handling: Graceful fallback to UTF-8 with malformed character handling
Example Benefits #
- JSON responses automatically use UTF-8 encoding
- Proper handling of international characters in responses
- Charset-aware decoding based on Content-Type headers
- Better compatibility with various API response formats
1.1.2 #
Features #
- π Human-Readable Binary Content Logging: Binary content now shows MIME type and smart size formatting
- π Smart Size Formatting: Automatically formats sizes as bytes, KB, or MB for better readability
- π― Enhanced Binary Messages: Format changed to
<binary content of {mime-type} with a length of {human-size}>
Technical Improvements #
- π§ Added
_formatBytes()
method: Intelligent byte size formatting (bytes/KB/MB) - π¨ Improved Binary Content Display: Shows MIME type alongside human-readable file sizes
- π Better Log Readability: Cleaner binary content messages without raw byte counts
Example Output #
- Small files:
<binary content of image/jpeg with a length of 833 bytes>
- Medium files:
<binary content of image/png with a length of 1.5KB>
- Large files:
<binary content of video/mp4 with a length of 2.3MB>
1.1.1 #
Features #
- π Improved Request ID System: Replaced UUID with custom short ID generation
- π― Consistent IDs: Request IDs are now identical in HTTP headers and log output
- π Enhanced Log Format: Added request ID prefixes to all log lines for better tracking
- π Concurrent Request Support: Easy to follow multiple simultaneous requests
Technical Improvements #
- β‘ Removed UUID dependency: Custom 8-character ID generation using timestamp + random bits
- π Better Performance: Faster ID generation with guaranteed uniqueness
- π¨ Improved Log Formatting: Consistent indentation and clear request/response boundaries
- π οΈ Better Error Context: Error messages now include request IDs for easier debugging
Breaking Changes #
- None - fully backward compatible
1.1.0 #
Features #
- β¨ Added
Level.body
support for logging HTTP request and response bodies - π Enhanced request body logging for different request types (
Request
,MultipartRequest
) - π Improved response body logging with proper stream handling using
StreamSplitter
- π Added support for logging multipart form fields and file information
- β‘ Implemented proper async handling to ensure correct log ordering
Technical Improvements #
- Added
async
package dependency forStreamSplitter
functionality - Enhanced error handling for body reading operations
- Improved UTF-8 decoding with malformed character support
- Added comprehensive documentation and performance warnings
Documentation #
- π Updated README with logging level explanations and performance considerations
- β οΈ Added performance warnings for body-level logging
- π οΈ Enhanced code examples with different logging levels
1.0.0 #
- Initial version.