class="brush:html;gutter:true;"><configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
<!--定义输出到文件中-->
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<!--定义文件存放位置-->
<file value="log\\"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="yyyy-MM-dd'.txt'"/>
<staticLogFileName value="false"/>
<param name="MaxSizeRollBackups" value="100"/>
<param name="Encoding" value="utf-8" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%newline %nDate:%date %nThread:[%thread] %nLevel: %-5level %nClass: %logger [%property{NDC}] %nMessage: %message%newline" />
</layout>
</appender>
<root>
<level value="ALL"/>
<!--文件形式记录日志-->
<appender-ref ref="RollingLogFileAppender"/>
</root>
</log4net>
3. 在控制器里面测试使用
public class HomeController : Controller
{
log4net.ILog log = log4net.LogManager.GetLogger(typeof(HomeController));
public ActionResult Index()
{
log.Info("test....");
return View();
}
}
4. 注意配置这一步 按照上面的步骤,日志并不work,原因是在asp.net MVC 中,你的log4net 配置在web.config中 这里还需要增加一个启动时候寻找log4net 的配置。 需要在,站点的Properties 文件下,找到AssemblyInfo.cs,在最后追加 [assembly: log4net.Config.XmlConfigurator(ConfigFile = "Web.config", Watch = true)] 5.测试运行结果
另外,配置文件中有<param name="Encoding" value="utf-8" />,目的是防止有些情况下中文乱码问题。