MVC3.0+Framework4.0中使用Log4net注意事项
2011-09-02 18:27
423 查看
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里面加入如下代码)
以上代码是log日志的配置,可以自己进一步修改
最后,我们在Global里面加入log4net.Config.XmlConfigurator.Configure();即可完成:
好了,这样整个log4net就可以安安稳稳的运行在MVC3.0+Framework4里面了。
在需要的地方加入使用(就跟2.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);
相关文章推荐
- mvc3.0.在使用ajax调用局部视图时,应该要注意的事项。
- asp.net mvc 中对easyui的引用文件使用Bundle的注意事项
- mvc web api 4.0 参数绑定 使用注意事项
- MVC中使用Cookie计算登录次数注意事项!
- Asp.net MVC中使用KindEditor上传本地图片的注意事项
- Log4Net使用注意事项
- lucene3.0_IndexSearcher的基础使用及注意事项
- web应用的MVC模型中使用bean的注意事项
- lucene3.0_IndexWriter基础使用及注意事项
- Mvc 4.0中使用自定义类注意事项
- log4net使用随笔以及注意事项
- ASP.NET MVC+EF在服务端分页使用jqGrid以及jquery Datatables的注意事项
- log4net使用注意事项
- Log4net 的使用及注意事项
- ASP.NET MVC 使用MSBuild部署的几个注意事项
- MVC3.0+Framework4.0中使用Log4net注意事项
- ASP.NET MVC+EF在服务端分页使用jqGrid以及jquery Datatables的注意事项
- swift3.0之UIImagePickerController的使用和注意事项
- 在ASP.NET MVC中使用WebApi注册路由注意事项
- ASP.NET MVC+EF在服务端分页使用jqGrid以及jquery Datatables的注意事项