fluent-kit icon indicating copy to clipboard operation
fluent-kit copied to clipboard

Make `Database.logger` mutable

Open rausnitz opened this issue 6 months ago • 0 comments

Is your feature request related to a problem? Please describe.

Database.logger is get-only, but I'd like to modify the Logger metadata and the log handler. My use-case is to track when Database.transaction is called, so I can warn when the original Database is being used before the transaction closure has been run. This is a common footgun in Vapor:

_ = try await req.db.transaction { transactionDB in
    // run a query using transactionDB
    // run a query using req.db
    // run a query using transactionDB
}

Describe the solution you'd like

Make it settable. Application.logger is settable. Request.logger is too. So it seems viable to do this.

Additional context

If the maintainers are interested in this change, I can submit a PR.

rausnitz avatar Aug 12 '24 18:08 rausnitz