首先,添加一個xml文件到mvc項目中,代碼如下: |
<?xml version="1.0" encoding="utf-8"?>
<log4net>
<appender name="rollingAppender" type="log4net.Appender.RollingFileAppender">
<file value="log\log.txt" />
<appendToFile value="true" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<rollingStyle value="Composite" />
<datePattern value="yyyyMMdd.TXT" />
<maxSizeRollBackups value="20" />
<maximumFileSize value="3MB" />
<staticLogFileName value="true" />
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="INFO" />
<param name="LevelMax" value="FATAL" />
</filter>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
</layout>
</appender>
<root>
<priority value="ALL"/>
<level value="ALL"/>
<appender-ref ref="rollingAppender" />
</root>
</log4net>
然後再項目中再添加一個Logger類,用於實例化。 |
using log4net;
using log4net.Config;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Hero.MVC5.Utility
{
public class Logger
{
static Logger()
{
XmlConfigurator.Configure(new FileInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "CfgFiles\\log4net.config")));
ILog Log = LogManager.GetLogger(typeof(Logger));
Log.Info("系統初始化Logger模塊");
}
private ILog loger = null;
public Logger(Type type)
{
loger = LogManager.GetLogger(type);
}
public void Error(string msg = "出現異常", Exception ex = null)
{
Console.WriteLine(msg);
loger.Error(msg, ex);
}
public void Warn(string msg)
{
Console.WriteLine(msg);
loger.Warn(msg);
}
public void Info(string msg)
{
Console.WriteLine(msg);
loger.Info(msg);
}
public void Debug(string msg)
{
Console.WriteLine(msg);
loger.Debug(msg);
}
}
}
一般使用時在某個靜態類或在Global中實例化。下面在Global實例化一下。 |
public class MvcApplication : System.Web.HttpApplication
{
private Logger logger = new Logger(typeof(MvcApplication));
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
this.logger.Info("網站啓動了。。。");
}
}