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:
Comment configurer la page web.config/Global.asax?
Comment installer des composants dans VS 2012 ~?
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) .
Étape 1: Pour utiliser le Nuget pour obtenir le package log4net:
É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();
Étape 3: ajoutez la section de configuration dans Web.config entre la balise <configSections>...</configSections>
:
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
É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>
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();
}