log4net in mvc3
log4net may be used for .net appliction to server for logging.
This post will guide you a quick & dirty way to setup log4net for your project.
- Add log4net.dll into reference
- Setup Log4Net.config in your project root
<?xml version="1.0" encoding="utf-8" ?> <configuration> <log4net> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/> <file value="c:\Logs\logs-" /> <datePattern value="dd.MM.yyyy'.log'" /> <staticLogFileName value="false" /> <appendToFile value="true" /> <rollingStyle value="Composite" /> <maxSizeRollBackups value="-1" /> <maximumFileSize value="5MB" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" /> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <acceptOnMatch value="true" /> <levelMin value="DEBUG" /> <levelMax value="FATAL" /> </filter> </appender> <root> <level value="DEBUG" /> <appender-ref ref="RollingLogFileAppender" /> </root> </log4net> </configuration>
- In AssemblyInfo.cs (under Properties folder), add
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)]
- In your class, add following in class definition,
private static readonly ILog log = LogManager.GetLogger(typeof(HomeController));
and in your method, add
log.Debug("This is a DEBUG level message"); log.Info("This is for information only");
That’s should be work fine now. In case for any problem, please check your IIS could write to the file directory.