分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

ASP.NET MVC使用log4net

发布时间:2023-09-06 01:40责任编辑:林大明关键词:.NETMVC

本文介绍如何在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

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

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved