如何使用Apache log4net库与ASP.NET MVC 5日志记录
在运行软件程序的时候,跟踪和监控日志是一种记录过程的好方法。
简介:
在运行软件程序的时候,跟踪和监控日志是一种记录过程的好方法。尤其在应用程序出错的时候,日志是我们最需要的文件。不管是在web,winform,windowsphone。
这里我们将一步一步讲解如何在ASP.NET MVC5应用程序中使用Apache log4net 框架来记录日志。
我用的是 Visual Studio Express 2013 和.NET framework 4.5.
第一步:
打开 Visual Studio 2013 创建一个新的ASP.NET应用程序选择MVC 模板.
第二步:
在这个应用程序例子中,我们将使用Apache log4net 框架来记录日志. 我们需要通过 NuGet package manager引用 log4net DLL .
- In VS 2013 Solution Explorer -> 右击Reference 并 选择Manage NuGet Packages.
- 查找 ‘log4net’ 然后安装.
如果安装成功,我们就能够在引用段下面看到如下图:
第三步:
接下来我们就要配置我们的应用程序来使用Log4Net了。把下面这行代码加在解决方案下的startup.cs 文件中。
1 [assembly: log4net.Config.XmlConfigurator(ConfigFile = "Web.config", Watch = true)]
纠正:这段代码最好加在AssemblyInfo.cs 里
第四步:
在 web.config文件中添加下面一节内容:
- <configSections>
- <!-- Add log4net config section-->
- <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
- </configSections>
- <log4net debug="true">
- <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
- <file value="logs\log.txt" />
- <appendToFile value="true" />
- <rollingStyle value="Size" />
- <maxSizeRollBackups value="10" />
- <maximumFileSize value="10MB" />
- <staticLogFileName value="true" />
- <layout type="log4net.Layout.PatternLayout">
- <conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" />
- </layout>
- </appender>
- <root>
- <level value="DEBUG" />
- <appender-ref ref="RollingLogFileAppender" />
- </root>
- </log4net>
第五步:
修改Global.asax.cs文件把下面这段代码添加在Application_Start()
函数里面:
log4net.Config.XmlConfigurator.Configure(new FileInfo(Server.MapPath("~/Web.config")));
到此,我们已经完成配置。
第六步:
在我们想添加日志的类中添加如下记录日志声明:
readonly log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
第七步:
使用logger.Error()方法来给我们想加日志的地方添加日志。
运行该程序我们就可以看到应用程序根目录下(webconfig文件配置的位置) 的logs文件夹下生成的日志了 。
如何使用Apache log4net库与ASP.NET MVC 5日志记录的更多相关文章
- Log4net入门(ASP.NET MVC 5篇)
在前4篇Log4net入门文章中,我们讲述了log4net的一些简单用法,在这一篇中我们主要讲述如何在ASP.NET MVC 5项目中将日志信息写入SQL Server数据库中. 一.创建最简单的AS ...
- ASP.NET MVC学习中记录下使用JavaScript和CSS层叠样式表的经历
首先我是想要在ASP.NET MVC 5.0中使用从jQuery之家下载下来的插件. 在下载了许多我觉得好用方便的插件之后,我在VS2017中新建了一个项目叫MVCTest,然后选择MVC模板,等待自 ...
- ExceptionLess ASP.NET MVC 异常日志框架
Exceptionless 一个开源的实时的日志收集框架,它可以应用在基于 ASP.NET,ASP.NET Core,Web API,Web Forms,WPF,Console,ASP.NET MVC ...
- ASP.Net Mvc 5 学习记录2015-9-9
我之前一直都是学习和开发都采用ASP.Net WebForm,对MVC的一直都是一知半解,最初以为ASP.Net WebForm的N层架构就是MVC.其实N层架构设计思想是"高内聚,低耦合& ...
- Excel vba中访问ASP.NET MVC项目,记录访问时间,文件名称
每30秒连接一次服务器,连接成功单元格变绿色,连接失败变红色,状态单元格为17行,2列 1,打开excel文件,进入vba编辑器,新建一个modules模块,在里面先写一个每30秒执行一次ConnSe ...
- ASP.NET MVC自定义Module记录管道事件执行顺序
1. 在Visual Studio 新建项目,模板为空,下面结构选择MVC. 2. 在项目中新建一个类MyModule,实现IHttpModule接口 namespace SimpleApp.Infr ...
- asp.net MVC日志插件Log4Net学习笔记一:保存日志到本地
log4net(Log For Net)是Apache开源的应用于.Net框架的日志记录工具,详细信息参见Apache网站.它是针对Java的log4j(Log For Java的)姊妹工具.用过lo ...
- asp.net(mvc) 框架
1.NFine mvc+ef 2.Grove orm架构 3.NHibernate orm 4.NBear 5.petshop 6.Membership 7.Brnshop 网上商城 8.cms快速开 ...
- Log4net按照不同级别写入多个日志文件
[assembly: log4net.Config.XmlConfigurator(Watch = true)]//注入 在一个Web应用项目中,我使用了Fluent NHibernate作为数据访问 ...
随机推荐
- [skill][debug][gdb] 使用core dump 进行GDB
core dump 扫盲:https://wiki.archlinux.org/index.php/Core_dump 1. 人为制作 core dump 1.1 实时在线生成core dump. ...
- ubuntu物理机上搭建Kubernetes集群 -- minion 配置
1. flannel配置 下载二进制文件 https://github.com/coreos/flannel/releases 版本:flannel-v0.7.0-linux-amd64.tar.gz ...
- 《linux 文件目录》- touch/rm/mv/cat/head/tail/cp/mkdir/chmod/chown/find/locate/which/whereis
一:基本 / 根目录下目录结构定义 /bin 常见的用户指令 ls/echo ...... 等 /boot 内核和启动文件 /dev 设备文件 /etc 系统和服务配置文件 /home 用户家目录 / ...
- 《Redis 集群》
由于集群这章节内容较多,也比较重要,所以单独拉出来,做一个小章节. 1:如何搭建一个集群? - 环境为 Ubuntu16.04 - 这里我预计使用 9001 - 9006 端口,生成一个 6 台机器的 ...
- Java之旅_高级教程_Java Mysql连接(1)
工具:Eclipse .mysql5.7 MySQL连接驱动:mysql-connector-java-5.1.27.jar 获取地址:https://dev.mysql.com/downloa ...
- tensorflow入门笔记(二) 滑动平均模型
tensorflow提供的tf.train.ExponentialMovingAverage 类利用指数衰减维持变量的滑动平均. 当训练模型的时候,保持训练参数的滑动平均是非常有益的.评估时使用取平均 ...
- Python开发【模块】:tornado.queues协程的队列
协程的队列 协调生产者消费者协程. from tornado import gen from tornado.ioloop import IOLoop from tornado.queues impo ...
- ansible--我的几个报错
我的几个报错: 1.远程复制失败 [root@localhost ~ ]#scp -r .ssh 192.168.10.145:/root/ root@192.168.10.145's passwor ...
- <<Sklearn 与 TensorFlow 机器学习实用指南>>
地址 https://github.com/apachecn/hands-on-ml-zh 目录结构 零.前言 第一部分 机器学习基础 一.机器学习概览 二.一个完整的机器学习项目 三.分类 四.训练 ...
- kafka3 本地目录结构以及在在zk上的znode
一 kafka本地目录结构 [root@hadoop ~]# cd /tmp/kafka-logs1 [root@hadoop kafka-logs1]# find . . ./.lock ./rec ...