DON'T ABSTRACT loggers
In .NET Core, the recommended way to handle logging is to use the Microsoft.Extensions.Logging framework, which provides a flexible and customizable logging API that can be used across all types of .NET Core applications.
The Microsoft.Extensions.Logging framework provides a number of built-in logging providers, such as the Console logger, Debug logger, and EventLog logger, that can be easily configured and customized to meet your specific logging needs. Additionally, you can also create your own custom logging providers by implementing the ILoggerProvider interface, which allows you to integrate with any third-party logging system of your choice.
One of the key advantages of using the Microsoft.Extensions.Logging framework is that it eliminates the need to create your own abstraction layer for logging. Instead, you can simply use the built-in logging interfaces and providers provided by the framework, and let the framework handle the details of logging.
By leveraging the built-in logging capabilities of the Microsoft.Extensions.Logging framework, you can simplify your code, improve maintainability, and avoid the complexity that can come with creating and maintaining your own abstraction layer for logging.