Как настроить или настроить Log4Net с ASP.NET (включая MVC) С# в Visual Studio 2012 ~ 2018

Я хочу записывать журналы программных процессов в файлы. Вместо того, чтобы создавать свою собственную систему журналов, я пытаюсь использовать Log4Net с ASP.NET MVC, но у меня возникли проблемы с его настройкой в Visual Studio 2015, например:

  1. Как настроить страницу web.config/Global.asax?

  2. Как установить компоненты в VS 2012 ~?

  3. Как использовать это в моем *.cs файле?

Как правильно настроить Log4Net с ASP.NET MVC С# в Visual Studio 2015?

Я также написал Q & A, чтобы настроить его для веб-форм ASP.NET, см. Как использовать Log4net из Nuget с платформой Visual Studio в веб-форме ASP.NET (простой метод).

Ответы

Ответ 1

Шаг 1: Чтобы использовать Nuget для получения пакета log4net:

enter image description here

Шаг 2: скажите log4net инициализировать себя из конфигурации XML (Web.config), добавив этот вызов в файл Global.asax.cs в Application_Start():

log4net.Config.XmlConfigurator.Configure();

enter image description here

Шаг 3: добавьте раздел конфигурации в Web.config между тегом <configSections>...</configSections>:

  <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />

enter image description here

Шаг 4. Вставьте фактическую конфигурацию log4net <log4net>...</log4net> (в пределах <configuration>...</configuration> но после </configSections>), см. Примеры конфигурации Apache log4net ™ для дополнительных примеров:

<log4net debug="true">
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="logs\log.txt" />
      <appendToFile value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="10" />
      <maximumFileSize value="100KB" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" />
      </layout>
    </appender>
    <root>
      <level value="DEBUG" />
      <appender-ref ref="RollingLogFileAppender" />
    </root>
  </log4net>

enter image description here

Теперь вы готовы делать вызовы в ILog для записи актуальных операторов журнала настроенному приложению (ям):

ILog log = log4net.LogManager.GetLogger(typeof(HomeController));      

public ActionResult Index()
{
    log.Debug("Debug message");
    log.Warn("Warn message");
    log.Error("Error message");
    log.Fatal("Fatal message");
    ViewBag.Title = "Home Page";
    return View();
}

enter image description here