structured_log 0.2.0-dev.2
structured_log: ^0.2.0-dev.2 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.2
- FEAT: add non-blocking AsyncFileOutput and AsyncRotatingFileOutput.
- DOCS: add Russian translation of the architecture doc.
- DOCS: add architecture doc and end-user pipeline diagram.
0.2.0-dev.2 #
- FEAT: add non-blocking AsyncFileOutput and AsyncRotatingFileOutput.
- DOCS: add Russian translation of the architecture doc.
- DOCS: add architecture doc and end-user pipeline diagram.
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 #
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