Как библиотека Dll C# принимает интерфейс регистратора и записывает в этот файл журнала

#c# #logging #dll #error-logging

Вопрос:

У меня есть библиотека классов C#, и я должен добавить ведение журнала. Эта библиотека классов должна использоваться несколькими приложениями, имеющими различные механизмы ведения журнала (например, NLog, Log4Net и т. Д.). Поэтому я должен записывать журналы Dll в файл журнала приложения, который они используют. Для этого, как я могу реализовать dll C#, которая принимает интерфейс регистратора, и записать в этот файл журнала.

Ответ №1:

Существует универсальный пакет ведения Microsoft.Extensions.Logging.Abstractions журнала, содержащий набор простых ILogger интерфейсов. Большинство более крупных систем ведения журнала включают готовые адаптеры для этих интерфейсов. Таким образом, в приложениях должно быть легко переносить ведение журнала в любой регистратор, используемый этим продуктом.

Вы можете найти простой пример, который должен сделать большую часть того, что вам нужно в этом изменении