structured_log 0.2.0-dev.5
structured_log: ^0.2.0-dev.5 copied to clipboard
Structured logging for Dart, inspired by Python's structlog. Log JSON with context binding.
Change Log #
All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
2026-09-10 #
Changes #
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
structured_log - v0.2.0-dev.5
- DOCS: expand dartdoc with detailed descriptions and usage examples.
- DOCS: update file list in AGENTS.md structure section.
- DOCS: clean up CHANGELOG.md after melos version's auto-generated entry.
0.2.0-dev.5 #
- DOCS: expand dartdoc with detailed descriptions and usage examples.
- DOCS: update file list in AGENTS.md structure section.
- DOCS: clean up CHANGELOG.md after melos version's auto-generated entry.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased #
0.2.0-dev.4 - 2026-09-10 #
Fixed #
StructlogConfiguration.initialContextis now actually applied —getLogger()previously stored it but never read it, so it had no effect on any log entry despite being documented as merged in beforebind()/inlinecontext.bind()/inlinecontextstill override an initialContext key of the same name, matching the documented merge order.
0.2.0-dev.3 - 2026-09-10 #
Added #
LogLevel.trace— a new level belowdebug, plusBoundLogger.trace(). Filtered out by a sink's defaultminLevel(debug) unless a sink explicitly setsminLevel: LogLevel.trace, so high-volume detail (e.g. raw protocol frames) can be gated purely by level, with nocategorytagging needed.coloredConsoleOutputrenders it in grey.
0.2.0-dev.2 - 2026-09-10 #
Added #
test/integration_test.dart— integration tests exercising the package as a whole system on real files (correlation + processors + multi-sink routing combined, mixed sync/async sinks, full rotation history across numbered backups,coloredConsoleOutput's real printed format), as a complement to the existing component-level unit testsAsyncFileOutputandAsyncRotatingFileOutput— non-blocking counterparts offileOutput/rotatingFileOutputthat use asyncdart:ioFile APIs instead ofwriteAsStringSync, so logging doesn't block the calling isolate. Writes are serialized and delivered in order; a failing write is caught and reported tostderrwithout stopping the writes queued after it. Exposes aflushedfuture to await pending writes (e.g. in tests or before process exit)doc/ARCHITECTURE.md— internal design docs for contributors, with Mermaid class/sequence/flow diagrams of the log call lifecycle and multi-sink routingdoc/ARCHITECTURE.ru.md— Russian translation of the architecture doc- "How It Works" section in
README.md/README.ru.mdwith a Mermaid flowchart of the logging pipeline for consumers - Cross-links between the English/Russian README and architecture docs
0.2.0-dev.1 - 2026-09-09 #
Added #
LogCorrelationandBoundLogger.withCorrelation()for typed correlation fields (sessionId,requestId,connectionGeneration,toolCallId,messageId,operationId), serialized under fixed snake_case keys and inherited/overridable through child loggersLogSinkandStructlogConfiguration(sinks: ...)for multi-output routing: one log entry can be delivered to multiple destinations with independentminLevel/categoriesfiltering, runtime enable/disable viaStructlogConfiguration.setSinkEnabled(), and per-sink error isolation
Changed #
- Updated repository URL to
https://github.com/pese-git/structured_log.git - Added FVM (Flutter Version Management) configuration
- Added Melos scripts for development workflow (
analyze,format,test,lint,build,example,clean) - Added
.gitignorefor Dart/FVM project - Removed unused imports from source files
- Removed deprecated
authorfield frompubspec.yaml - Formatted all source files with
dart format
0.1.0 - 2026-04-27 #
Added #
- Initial release of
structured_log BoundLoggerwith immutablebind()/unbind()context binding- Log levels:
debug,info,warning,error,critical - Processors:
dropNullValues,addTimestamp,addLogLevel,jsonRenderer,logfmtRenderer - Output formats: default JSON console, colored console, file, rotating file
- Global configuration via
StructlogConfiguration.configure() - Example usage in
example/main.dart - Basic test suite