Uploaded image for project: 'C# Driver'
  1. C# Driver
  2. CSHARP-3893

Integrate with .NET Logging API

    • 3
    • 6
    • 7
    • 100
    • Hide

      Engineer: Boris

      Summary: Introduce logging to .Net driver.

      2022-09-20: Updated target end date to 2022-09-23
      Status Update:

      • In final stages of review
      • Documentation improvements up next
      • Added more time to wrap up the review and to add documentation

      Rationale for delays:

      • No delays

      Risks:

      • No risks

      2022-09-06: No change to target end date
      Status Update:

      • Boris getting back to feedback on the last PR now that he is back from vacation

      Rationale for delays:

      • No delays

      Risks:

      • No risks

      Status Update:

      • Adding smoke tests in second round of reviews and everything else is wrapped up

      Rationale for delays:

      • Boris is OOO for 2 weeks returning on 9/5

      Risks:

      • No risks

      2022-08-09: Updated target end date to 2022-09-19

      Status Update:

      • Code review for Integration with the .NET Logging library and introducing basic logging continues
      • Adding smoke tests in progress

      Rationale for delays:

      • Code reviews taking longer than expected
      • Intern mentorship

      Risks:

      • No risks

      2022-07-26: No change to target end date

      Status Update:

      • Integration with the .NET Logging library and introducing basic logging in the drivers being reviewed
      • Working on adding smoke tests

      Rationale for delays:

      • No delays

      Risks:

      • No risks

      2022-07-12: Updating target end date to 2022-07-29

      Status Update:

      • Integration with the .NET Logging library and introducing basic logging in the drivers is in review
      • Working on adding smoke tests

      Rationale for delays:

      • Smoke testing and infrastructure setup taking longer than expected

      Risks:

      • No risks

      2022-06-28: Updating target end date to 2022-07-15
      Status Update:

      • PR for integration with the .NET Logging library would be ready in the next few days
      • Added some additional time to the end date for smoke testing, test migration and reviews

      Rationale for delays:

      • Spent 50% of the time in the past two weeks on reviewing FLE related PRs, first responder rotation and mentoring interns

      Risks:

      • No risks

      2022-06-14: Setting initial target end date to 2022-07-01

      Status Update:

      • Investigating integration with the .NET Logging library

      Rationale for delays:

      • No delays

      Risks:

      • No risks

      Show
      Engineer: Boris Summary: Introduce logging to .Net driver. 2022-09-20: Updated target end date to 2022-09-23 Status Update: In final stages of review Documentation improvements up next Added more time to wrap up the review and to add documentation Rationale for delays: No delays Risks: No risks 2022-09-06: No change to target end date Status Update: Boris getting back to feedback on the last PR now that he is back from vacation Rationale for delays: No delays Risks: No risks Status Update: Adding smoke tests in second round of reviews and everything else is wrapped up Rationale for delays: Boris is OOO for 2 weeks returning on 9/5 Risks: No risks 2022-08-09: Updated target end date to 2022-09-19 Status Update: Code review for Integration with the .NET Logging library and introducing basic logging continues Adding smoke tests in progress Rationale for delays: Code reviews taking longer than expected Intern mentorship Risks: No risks 2022-07-26: No change to target end date Status Update: Integration with the .NET Logging library and introducing basic logging in the drivers being reviewed Working on adding smoke tests Rationale for delays: No delays Risks: No risks 2022-07-12: Updating target end date to 2022-07-29 Status Update: Integration with the .NET Logging library and introducing basic logging in the drivers is in review Working on adding smoke tests Rationale for delays: Smoke testing and infrastructure setup taking longer than expected Risks: No risks 2022-06-28: Updating target end date to 2022-07-15 Status Update: PR for integration with the .NET Logging library would be ready in the next few days Added some additional time to the end date for smoke testing, test migration and reviews Rationale for delays: Spent 50% of the time in the past two weeks on reviewing FLE related PRs, first responder rotation and mentoring interns Risks: No risks 2022-06-14: Setting initial target end date to 2022-07-01 Status Update: Investigating integration with the .NET Logging library Rationale for delays: No delays Risks: No risks

      Historically .NET has not included a standard logging API and there were many competing open source offerings and custom solutions. As a result, the .NET/C# driver has not generated log messages. It integrates with TraceProviders and raises custom events (e.g. SDAM events), but there is no mechanism for the driver to log errors and warnings in a standardized way.

      In the intervening years, Microsoft introduced Microsoft.Extensions.Logging, which is a NuGet package to define a standardized logging API. This API works with both built-in and third-party log providers. It would provide the driver with a mechanism to log messages in a log provider independent way.

      The minimum .NET versions required for Microsoft.Extensions.Logging are .NET Standard 2.0 and .NET Framework 4.6.1 - which we now meet since we retired support for .NET Standard 1.5 and increased our minimum .NET Framework version to 4.7.2.

      See Logging in .NET for an overview of .NET's logging support.

            Assignee:
            boris.dogadov@mongodb.com Boris Dogadov
            Reporter:
            james.kovacs@mongodb.com James Kovacs
            Votes:
            1 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved:
              15 weeks, 2 days