内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用
我想将软件进程日志记录到文件中。我试图将Log4Net与ASP.NET MVC结合使用,而不是创建自己的日志系统,但我遇到了在Visual Studio 2015中设置它的问题,如:
*.cs
文件中使用它?在Visual Studio 2015中正确配置Log4Net和ASP.NET MVC C#的步骤是什么?
第一步:使用Nuget获取log4net包:
第2步:告诉log4net从XML配置(Web.config)初始化自己,方法是在以下Global.asax.cs
文件中添加此调用Application_Start()
:
log4net.Config.XmlConfigurator.Configure();
第3步:在标签之间的Web.config中添加配置部分<configSections>...</configSections>
:
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
插入实际的log4net配置<log4net>...</log4net>
,有关更多示例,请参阅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>
现在已准备好调用ILog
实际的日志语句写入配置的appender(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();
}