首页 新闻 搜索 专区 学院

MVC4 中配置log4net

0
悬赏园豆:5 [已解决问题] 解决于 2015-08-05 17:11

我在我的mvc4项目中配置了log4net ,但是使用时却发现log文件夹中并没有日志文件。

  这是Controller

public class AccountController : WebSiteBase
    {
        private readonly ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

        public ActionResult Login(string ReturnUrl)
        {
            ViewBag.ReturnUrl = ReturnUrl;
            return View();
        }

这是webconfig

 <log4net>
    <root>
      <level value="ALL" />
      <appender-ref ref="LogFileAppender" />
    </root>
    <appender name="LogFileAppender"  type="log4net.Appender.FileAppender" >
      <param name="File" type="log4net.Util.PatternString" value="Log\%date{yyyy-MM-dd}.log" />
      <datePattern value="yyyy-MM-dd" />
      <staticLogFileName value="true" />
      <param name="AppendToFile" value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern"  value="记录时间:%d%n线程ID:%t%n日志级别:%-5p%n出错名称:%logger property:[%property{NDC}] %n错误描述:%m%n行号:%L%n文件名:%F%n--------------------------------------------------------------------------%n" />
      </layout>
    </appender>
  </log4net>

 请问在mvc重配置log4net需要注意什么?

Vincent8464的主页 Vincent8464 | 初学一级 | 园豆:39
提问于:2015-08-05 15:01
< >
分享
最佳答案
2

1、web.config加上这行

  <configSections>

    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4Net"/>
  </configSections>

 

2、global.asax 里加上

        protected void Application_Start()
        {


            //读取日志  如果使用log4net,应用程序一开始的时候,都要进行初始化配置
            log4net.Config.XmlConfigurator.Configure();
           


        }

就可以了。

我再发一下,我的log4net配置

  <!--日志的配置开始-->
  <log4net>
    <root>
      <level value="ALL"/>
      <appender-ref ref="SysAppender"/>
    </root>

    <logger name="WebLogger">
      <!--配置日志的级别,低于此级别的就不写到日志里面去-->
      <level value="DEBUG"/>
    </logger>

    <appender name="SysAppender" type="log4net.Appender.RollingFileAppender,log4net" >
      <param name="File" value="App_Data/" />
      <param name="AppendToFile" value="true" />
      <param name="RollingStyle" value="Date" />
      <param name="DatePattern" value="&quot;Logs_&quot;yyyyMMdd&quot;.txt&quot;" />
      <param name="StaticLogFileName" value="false" />
      <layout type="log4net.Layout.PatternLayout,log4net">
        <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
        <param name="Header" value="&#13;&#10;----------------------header--------------------------&#13;&#10;" />
        <param name="Footer" value="&#13;&#10;----------------------footer--------------------------&#13;&#10;" />
      </layout>
    </appender>
    <appender name="consoleApp" type="log4net.Appender.ConsoleAppender,log4net">
      <!--日志的格式-->
      <layout type="log4net.Layout.PatternLayout,log4net">
        <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
      </layout>
    </appender>
  </log4net>
  <!--日志的配置结束-->
收获园豆:5
阿炬 | 菜鸟二级 |园豆:268 | 2015-08-05 16:04

Application_Start()和configSections之前的我就加过了。

刚把你的配置复制过来了就可以了。貌似是我之前写的配置有问题。

3q

Vincent8464 | 园豆:39 (初学一级) | 2015-08-05 17:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册