Пакеты:
<ItemGroup>
<PackageReference Include="log4net" Version="2.0.14" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.1" />
</ItemGroup>
Объявление:
public static ILog Logger;
Инициализация:
var logger = Services.GetRequiredService<ILoggerFactory>();
logger.AddLog4Net();
Logger = LogManager.GetLogger(typeof(App));
Вызов:
Logger.Info("Test Info");
Logger.Error("Test Error");
Logger.Warn("Test Warn");
Настройка вида строки в записи:
<conversionPattern value="%-5p [%d] [%F] [%C.%M] %m%n"/>
где:
%p — Тип события лога (DEBUG, ERROR и т.д.)
%d — Дата и время, когда логгирующая функция была вызвана. Можно задавать различные форматы вывода даты и времени. К примеру, %d{HH:mm:ss,SSS} отображает только время
%C — Имя класса, в котором была вызвана какая-либо функция лога
%M — Имя метода
%m — Собственно, сообщение в лог
%F — Имя файла
%l — Номер строки
%r — Количество миллисекунд, прошедших с начала работы программы
%t — Имя потока
%n — Переход на новую строку
%% — Символ "%"
больше инфы по ссылке: https://ru.wikipedia.org/wiki/Apache_log4net http://megadarja.blogspot.com/2008/04/log4net.html