zoukankan      html  css  js  c++  java
  • MVC3.0+Framework4.0中使用Log4net注意事项

    log4net.dll是日志记录插件,官方最新版本是1.2.10,支持的是Framework2.0,运用到.net4.0上是没有任何作用的,需要修改下源代码,才能起作用。

     

    首先到log4net官网下载源码http://logging.apache.org/log4net/download.html

    下载后,用vs打开src里面的源码,将log4net类库的目标框架选择为4.0,在生成选项卡里将条件编译符号改成:NET;NET_2_0;NET_4_0

    生成路径修改成..\build\bin\net\4.0\debug\


    再打开log4net类库的AssemblyInfo.cs文件,找到:[assembly: System.Security.AllowPartiallyTrustedCallers]

    注释掉,或者修改为:[assembly:SecurityRules(SecurityRuleSet.Level1)]


    下一步,打开log4net类库的Config\XMLConfigurator.cs文件,修改settings.ProhibitDtd = false; 为settings.DtdProcessing = DtdProcessing.Parse;



    OK编译,成功,拷贝log4net到我们的mvc3.0 razor项目中,加入引用。
     

    在MVC3.0最外面的Web.config中加入如下配置:(在根节点configuration里面加入如下代码)

    <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
    <sectionGroup name="common">
    <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging"/>
    </sectionGroup>
    </configSections>
    <log4net debug="true">
    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
    <param name="File" value="Logs\log.txt"/>
    <param name="datePattern" value="MM-dd HH:mm"/>
    <param name="AppendToFile" value="true"/>
    <layout type="log4net.Layout.PatternLayout">
    <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
    </layout>
    </appender>
    <appender name="HttpTraceAppender" type="log4net.Appender.ASPNetTraceAppender">
    <layout type="log4net.Layout.PatternLayout">
    <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
    </layout>
    </appender>
    <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
    <layout type="log4net.Layout.PatternLayout">
    <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
    </layout>
    </appender>
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
    <param name="File" value="Logs/Log.txt"/>
    <param name="AppendToFile" value="true"/>
    <param name="MaxSizeRollBackups" value="10"/>
    <param name="MaximumFileSize" value="5000K"/>
    <param name="RollingStyle" value="Size"/>
    <param name="StaticLogFileName" value="true"/>
    <layout type="log4net.Layout.PatternLayout">
    <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
    </layout>
    </appender>
    <root>
    <level value="ALL"/>
    <appender-ref ref="RollingLogFileAppender"/>
    </root>

    </log4net>

      

    以上代码是log日志的配置,可以自己进一步修改


    最后,我们在Global里面加入log4net.Config.XmlConfigurator.Configure();即可完成:

    protectedvoid Application_Start()
    {
    log4net.Config.XmlConfigurator.Configure();
    //这句代码
    AreaRegistration.RegisterAllAreas();
    RegisterGlobalFilters(GlobalFilters.Filters);
    RegisterRoutes(RouteTable.Routes);
    }

      

    好了,这样整个log4net就可以安安稳稳的运行在MVC3.0+Framework4里面了。

    在需要的地方加入使用(就跟2.0一样了):

    publicstaticreadonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

      

  • 相关阅读:
    ORA-14404
    ORA-00845
    ORA-00054
    oracle-11g-配置dataguard
    ORACLE 11G 配置DG 报ORA-10458、ORA-01152、ORA-01110
    Python:if __name__ == '__main__'
    HDFS-Shell 文件操作
    HDFS 概述
    PL/SQL Developer
    CentOS7 图形化方式安装 Oracle 18c 单实例
  • 原文地址:https://www.cnblogs.com/qidian10/p/2164081.html
Copyright © 2011-2022 走看看