Open
Description
Environment
- DiffSync version: 1.9.0
Proposed Functionality
DiffSync currently establishes its own logger method. This feature would allow the user of DiffSync to pass in a structlog logger with some bound context data, or even pass in a structlog-compatible logger to replace the existing logger.
Below, two examples are provided. This feature would not require both be implemented.
Example usage:
First example - pass logger into backend
my_logger = structlog.get_logger().bind(
triggered_by="[email protected]",
trace_id=str(uuid.uuid4()),
)
be1 = MyDiffSyncBackend(loggger=my_logger)
be1.load()
...
be1.sync_to(be2)
Second example - pass logger into sync methods
my_logger = structlog.get_logger().bind(
triggered_by="[email protected]",
trace_id=str(uuid.uuid4()),
)
be1 = MyDiffSyncBackend()
be1.load()
...
be1.sync_to(be2, logger=my_logger)
Use Case
- Provide additional context to each log message using structlog's bind.
- Provide alternate logger to diffsync
Metadata
Metadata
Assignees
Labels
No labels