Skip to content

Feature to pass logger into Backend or sync_from/sync_to methods #253

Open
@jamesharr

Description

@jamesharr

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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions