web-dev-qa-db-fra.com

Comment configurer ou installer Log4Net avec ASP.NET (MVC inclus) C # sur Visual Studio 2012 ~ ~

Je souhaite enregistrer les journaux des processus logiciels dans des fichiers. Plutôt que de créer mon propre système de journalisation, j'essaie d'utiliser Log4Net avec ASP.NET MVC, mais j'ai rencontré des problèmes pour le configurer dans Visual Studio 2015, comme:

  1. Comment configurer la page web.config/Global.asax?

  2. Comment installer des composants dans VS 2012 ~?

  3. Comment l'utiliser dans mon *.cs fichier?

Quelles sont les étapes pour configurer correctement Log4Net avec ASP.NET MVC C # dans Visual Studio 2015?

J'ai également écrit un Q&A pour le configurer pour ASP.NET WebForms, voir Comment utiliser Log4net de Nuget avec la plate-forme Visual Studio dans le formulaire Web ASP.NET (méthode facile) .

24
Willie Cheng

Étape 1: Pour utiliser le Nuget pour obtenir le package log4net:

enter image description here

Étape 2: dites à log4net de s'initialiser à partir de la configuration XML (Web.config), en ajoutant cet appel dans le fichier Global.asax.cs Sous Application_Start():

log4net.Config.XmlConfigurator.Configure();

enter image description here

Étape 3: ajoutez la section de configuration dans Web.config entre la balise <configSections>...</configSections>:

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

enter image description here

Étape4: Insérez la configuration réelle de log4net <log4net>...</log4net> (Dans <configuration>...</configuration> Mais après la balise </configSections>), Voir Exemples de configuration Apache log4net ™ pour plus d'exemples:

<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

Vous êtes maintenant prêt à appeler un ILog pour écrire des instructions de journal réelles aux appender (s) configuré (s):

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

73
Willie Cheng