Logging may be a method of tracking/monitoring what's happening when an application is in progress/running. Log records are going to be most required things when one thing goes wrong in your application, be it Windows Forms, mobile or web applications.
Here I will be able to be walking through the basic steps in implementing work functionality using Apache log4net framework in an ASP.NET MVC 5 application. I'm using Visual Studio express 2013 for web as my development environment targeting .NET framework 4.5. Open Visual Studio 2013 for web and build a new ASP.NET web application selecting MVC template.
Here in this demo application, we are going to use Apache Log4net framework for logging. We'd like to add reference of Log4net DLL using NuGet package manager. In VS 2013 solution explorer and then Right click on Reference and select Manage NuGet Packages. Search for ‘log4net’ and Install.
Once installation is successful, we are able to see the log4net DLL added beneath the solution explorer Reference section as shown below:
Next, we'd like to piece our application to use log4net logging framework. Add the below line in your startup.cs get into ASP.NET MVC5 solution folder. The below line of code provides data about log4net configuration file.
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Web.config", Watch = true)]
Now, write the following code to web.config file:
<configSections>
<!-- Add log4net config section-->
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<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="10MB" />
<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>
Modify the Global.asax.cs and add the following code inside Application_Start() method.
log4net.Config.XmlConfigurator.Configure(new FileInfo(Server.MapPath("~/Web.config")));
Now our log4net library is ready to use with MVC5 application.
Add logger declaration in classes for which we want to make logs as below:
readonly log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
Use the following logger.Error() method to log messages when needed as you can see on the below picture:
Run an application and that we will see the log file generated underneath the logs folder under the application root directory as configured in the web config file.
HostForLIFE.eu ASP.NET MVC 5 Hosting
HostForLIFE.eu is European Windows Hosting Provider which focuses on Windows Platform only. We deliver on-demand hosting solutions including Shared hosting, Reseller Hosting, Cloud Hosting, Dedicated Servers, and IT as a Service for companies of all sizes. We have customers from around the globe, spread across every continent. We serve the hosting needs of the business and professional, government and nonprofit, entertainment and personal use market segments.