Я как-то нашел все решения здесь неудовлетворительными, особенно для библиотек / API. Хотя я никогда не думал, что смогу, на самом деле я написал «регистратор» с открытым исходным кодом, который должен решать большинство проблем.
Может быть, вы можете взглянуть на Dapplo.Log , вы можете получить его от NuGet.
Идея состоит в том, чтобы использовать Dapplo.Log в вашей библиотеке, и проект, который использует это, может направить (при необходимости) любой вывод журнала в выбранный им регистратор. Примеры направления вывода можно найти в тестах с реализациями некоторых основных структур здесь .
Возможно, он не идеален (пока), и я приветствую запросы или билеты.