Commit 21f7884
feat: add OutputSink abstraction for multi-destination output
Implement OutputSink trait and StandardSink/CompositeSink implementations to enable
writing output to multiple destinations beyond stdout/stderr.
Changes:
- Add OutputSink trait with write_message() method for extensible output destinations
- Implement StandardSink for backward-compatible stdout/stderr routing
- Implement CompositeSink for multi-destination fan-out
- Add example FileSink and TelemetrySink implementations
- Update UserOutput to use Box<dyn OutputSink> instead of direct writers
- Add with_sink() constructor for custom sink configuration
- Maintain backward compatibility with existing constructors
- Add 15 comprehensive tests for sinks and integration
- Document flush() limitation with sink abstraction
All existing tests pass (126) plus 15 new sink tests.
Co-authored-by: josecelano <58816+josecelano@users.noreply.github.com>1 parent 8bf1580 commit 21f7884
1 file changed
+747
-117
lines changed
0 commit comments