码迷,mamicode.com
首页 > Web开发 > 详细

ASP.NET MVC使用log4net

时间:2018-01-31 20:23:30      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:文件大小   ica   dba   记录   log4   tps   ice   org   ack   

本文介绍如何在ASP.NET MVC中使用log4net来记录日志文件。

参考链接:
https://www.codeproject.com/Articles/823247/How-to-use-Apache-log-net-library-with-ASP-NET-MVC
http://www.cnblogs.com/suntanyong88/p/4571005.html

 

第一步:

创建项目ASP.NET Web Application MVC

 

第二步:

Nuget安装log4Net

 

第三步:

配置我们的应用程序使用log4net框架。找到startup.cs文件,在namespace上添加如下代码:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Web.config", Watch = true)]

 

第四步:

在web.config文件中添加log4net配置

技术分享图片
 1 <!--log4net 配置-->
 2   <log4net>
 3     <root>
 4       <level value="ALL" />
 5       <appender-ref ref="console" />
 6       <appender-ref ref="file" />
 7     </root>
 8     <appender name="console" type="log4net.Appender.ConsoleAppender">
 9       <layout type="log4net.Layout.PatternLayout">
10         <conversionPattern value="%date %level %logger - %message%newline" />
11       </layout>
12     </appender>
13     <appender name="file" type="log4net.Appender.RollingFileAppender">
14       <file value="logs\" />
15       <appendToFile value="true" />
16       <rollingStyle value="Date" />
17       <param name="DatePattern" value="yyyy-MM-dd&quot;.log&quot;" />
18       <param name="StaticLogFileName" value="false" />
19       <layout type="log4net.Layout.PatternLayout">
20         <conversionPattern value="%date [%thread] %level %logger - %message%newline" />
21       </layout>
22     </appender>
23   </log4net>
24   <!--log4net 配置结束-->
web.config

 

第五步:

找到文件Global.asax,在Application_Start()方法中加入:
log4net.Config.XmlConfigurator.Configure(new FileInfo(Server.MapPath("~/Web.config")))

 

第六步:

开始使用log4net。在需要使用的cotroller或者service中定义log4net:
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)

需要调用的地方:
log.Error(message);
log.Info(message);


 

log4net配置文件说明

<file value="" />  文件存储位置或名称。
如果是固定命名文件则<file value="D:/log/xxx.txt" />
如果是可变命名(以日期命名),此处可以只是一个路径<file value="D:/log/" />

<staticLogFileName value="false" /> 文件命名是否静态。

这个节点很重要,而且容易忽略。如果是以日期这种变化的命名log文件,则value为true,如果像<file value="D:/log/xxx.txt" />这种固定的文件,则value为false。

<rollingStyle value="Size" />文件按照什么方式来生成。

值有Size(大小),Date(日期),Composite(组合)。

<maxSizeRollBackups value="5" />最多可生成文件数

如果超过单个文件大小的最大值,会新生成文件。value中的数值就是最多生成文件的数量。

<maximumFileSize value="10MB" />单个文件大小的最大值。

<param name="DatePattern" value="yyyy-MM-dd&quot;.log&quot;" />文件的命名方式



以下是3种配置(Size,Date,Composite)的样例

 

通过文件大小来生成log文件

技术分享图片

技术分享图片
 1 <log4net>
 2   <root>
 3     <level value="ALL" />
 4     <appender-ref ref="console" />
 5     <appender-ref ref="file" />
 6   </root>
 7   <appender name="console" type="log4net.Appender.ConsoleAppender">
 8     <layout type="log4net.Layout.PatternLayout">
 9       <conversionPattern value="%date %level %logger - %message%newline" />
10     </layout>
11   </appender>
12   <appender name="file" type="log4net.Appender.RollingFileAppender">
13     <file value="D:/log/log4netfile.txt" />
14     <appendToFile value="true" />
15     <rollingStyle value="Size" />
16     <maxSizeRollBackups value="5" />
17     <maximumFileSize value="10MB" />
18     <staticLogFileName value="true" />
19     <layout type="log4net.Layout.PatternLayout">
20       <conversionPattern value="%date [%thread] %level %logger - %message%newline" />
21     </layout>
22   </appender>
23 </log4net>
固定名称,文件大小有限制

 

通过日期来生成log文件,每过一天会新生成文件

技术分享图片

技术分享图片
 1 <log4net>
 2   <root>
 3     <level value="ALL" />
 4     <appender-ref ref="console" />
 5     <appender-ref ref="file" />
 6   </root>
 7   <appender name="console" type="log4net.Appender.ConsoleAppender">
 8     <layout type="log4net.Layout.PatternLayout">
 9       <conversionPattern value="%date %level %logger - %message%newline" />
10     </layout>
11   </appender>
12   <appender name="file" type="log4net.Appender.RollingFileAppender">
13     <file value="D:/log/" />
14     <appendToFile value="true" />
15     <rollingStyle value="Date" />
16     <param name="DatePattern" value="yyyy-MM-dd&quot;.log&quot;" />
17     <staticLogFileName value="false" />
18     <layout type="log4net.Layout.PatternLayout">
19       <conversionPattern value="%date [%thread] %level %logger - %message%newline" />
20     </layout>
21   </appender>
22 </log4net>
按日期生成

 

 通过日期和大小的组合来生成log文件

技术分享图片

技术分享图片
 1 <log4net>
 2   <root>
 3     <level value="ALL" />
 4     <appender-ref ref="console" />
 5     <appender-ref ref="file" />
 6   </root>
 7   <appender name="console" type="log4net.Appender.ConsoleAppender">
 8     <layout type="log4net.Layout.PatternLayout">
 9       <conversionPattern value="%date %level %logger - %message%newline" />
10     </layout>
11   </appender>
12   <appender name="file" type="log4net.Appender.RollingFileAppender">
13     <!--<file value="D:/log4netfile.txt" />-->
14     <file value="D:/log/" />
15     <appendToFile value="true" />
16     <rollingStyle value="Composite" />
17     <param name="DatePattern" value="yyyy-MM-dd&quot;.log&quot;" />
18     <maxSizeRollBackups value="10"/>
19     <maximumFileSize value="5KB"/>
20     <staticLogFileName value="false" />
21     <layout type="log4net.Layout.PatternLayout">
22       <conversionPattern value="%date [%thread] %level %logger - %message%newline" />
23     </layout>
24   </appender>
25 </log4net>
日期和文件大小组合

 

官方文档链接如下:
https://logging.apache.org/log4net/index.html

 

ASP.NET MVC使用log4net

标签:文件大小   ica   dba   记录   log4   tps   ice   org   ack   

原文地址:https://www.cnblogs.com/Jason-blogs/p/8393754.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!