Log4Net日志配置
1.添加Log4net.dll引用
将release版Log4net.dll拷贝到Lib文件夹,然后添加引用。
aaarticlea/png;base64,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" alt="" />
2.在Web.Config(或App.Config)添加配置。
(1)在configSections节点下添加配置:
<!--Log4Net配置-->
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
(2)在configuration节点下添加配置:
<!--log4net配置(专业配置,推荐)-->
<log4net>
<!-- OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL -->
<!-- Set root logger level to ERROR and its appenders -->
<root>
<level value="WARN"/>
<appender-ref ref="SysAppender"/>
</root> <!-- Print only messages of level DEBUG or above in the packages -->
<logger name="WebLogger">
<level value="DEBUG"/>
</logger> <appender name="SysAppender" type="log4net.Appender.RollingFileAppender,log4net" >
<param name="File" value="App_Data/" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value=""Logs_"yyyyMMdd".txt"" />
<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
<param name="Header" value=" ----------------------header-------------------------- " />
<param name="Footer" value=" ----------------------footer-------------------------- " />
</layout>
</appender>
<appender name="consoleApp" type="log4net.Appender.ConsoleAppender,log4net">
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
</layout>
</appender>
</log4net>
<!--log4net配置结束-->
配置信息说明:
Appender:可以将日志输出到不同的地方,不同的输出模板对应不同的Appender:
RollingFileAppender(滚动文件)、AdoNetAppender(数据库)、SmtpAppender(邮件)等。
Level(级别):标识这条日志信息的重要级别。None>Fatal>ERROR>WARN>DEBUG>INFO>ALL,设定一个Level,那么低于这个Level的日志是不会被写到Appender中的。
Log4Net还可以设定多个Appender,可以实现同时将日志记录到文件、数据、发送邮件等;可以设定不同的Appender的Level,可以实现普通级别都记录到文件。Error以上级别发送邮件。可以实现对不同的类设定不同的Appender;还可以自定义Appender,这样可以自己实现将Error信息发短信等。
除了Log4Net,还有Enterprise Library中的Logging Application Block、Apache的CommonLog以及NLog等,都差不多。
最基本简单的配置,不推荐
<!--log4net配置(最基本简单的配置,不推荐)-->
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="test.txt"/>
<appendToFile value="true"/> --><!--追加--><!--
<maxSizeRollBackups value="10"/> --><!--备份数量--><!--
<maximumFileSize value="1024KB"/>
<rollingStyle value="Size"/>
<staticLogFileName value="true"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
</layout>
</appender>
<root>
<level value="DEBUG"/>
<appender-ref ref="RollingLogFileAppender"/>
</root>
</log4net>
<!--log4net配置结束-->
3.在Global文件Application_Start方法下,程序最开始进行初始化。
using log4net;
using Spring.Web.Mvc;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Web;
using System.Web.Http;
using System.Web.Mvc;
using System.Web.Optimization;
using System.Web.Routing;
using WebApp.Models; namespace WebApp
{
// 注意: 有关启用 IIS6 或 IIS7 经典模式的说明,
// 请访问 http://go.microsoft.com/?LinkId=9394801 public class MvcApplication : SpringMvcApplication //System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
log4net.Config.XmlConfigurator.Configure();//读取Log4Net配置信息 #region 开启线程扫描异队列,处理异常信息
//string fileLogPath = Server.MapPath("/Log/");//知道用来保存错误日志文件的文件夹路径
//开启一个线程扫描日志队列
ThreadPool.UnsafeQueueUserWorkItem((a) =>
{
while (true)
{
if (MyExceptionAttribute.exceptionQueue.Count > ) //判断队列中是否有数据
{
Exception ex = MyExceptionAttribute.exceptionQueue.Dequeue();//出队
if (ex != null)
{
//string fileName = DateTime.Now.ToString("yyyy-MM-dd") + ".txt";
//File.AppendAllText(fileLogPath + fileName, ex.ToString(), Encoding.Default);//将异常追加写入到文件中 ILog logger = LogManager.GetLogger("errorMsg");
logger.Error(ex); //将异常信息写到磁盘上
}
else
{
Thread.Sleep();
}
}
else
{
Thread.Sleep();//如果队列中没有数据,让当前线程休息3秒钟,避免造成CPU空转,避免CPU的浪费
}
}
}, null);
#endregion }
}
}
4.测试效果
aaarticlea/png;base64,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" alt="" />
aaarticlea/png;base64,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" alt="" width="419" height="66" />
5.源码下载:
6.扩展阅读:
注意:
aaarticlea/png;base64,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" alt="" width="533" height="303" />
Log4Net日志配置的更多相关文章
- LOG4NET日志配置及使用
Log4net的安装 Install-Package log4net 1.先弄个日志记录的类 /// <summary> /// 使用LOG4NET记录日志的功能,在WEB.CONFIG里 ...
- Log4Net 日志配置[附带源码]
前述 园子里有许多人对log4net这款开源的日志记录控件有很多介绍.在这里个人再做一次总结,希望对以后有所帮助,需要的时候可以直接使用,减少查阅资料的时间.利用log4net可以方便地将日志信息记录 ...
- 【记录】.net 通用log4net日志配置
asp.net mvc 1.引入log4netNuGet包. 2.修改Global.asax下的Application_Start方法.加入log4net.Config.XmlConfigurator ...
- log4net 日志配置及使用
一.log4net按照不同的[LEVEL]级别输出到不同文件 <log4net> <!--错误日志:::记录错误日志--> <!--按日期分割日志文件 一天一个--> ...
- log4net日志的配置及简单应用
在程序运行中,往往会出现各种出乎开发人员意料的异常或者错误,所以,记录详细的程序运行日志信息,有利于开发人员和运维人员排查异常信息,提高工作效率.而本菜鸟在大神推荐和指导下使用log4net这一插件工 ...
- 关于log4net日志的配置流程
最近又重新整理一下log4net日志的配置,现在记录一下流程和一些遇到的问题,以备后续使用,具体的配置参数等信息.此文无,见谅! 1. 下载log4net.dll文件(网上很多,随便找一个!) 2. ...
- Log4net日志GUI配置工具
关于log4net的配置文章在园子里真的很多,但是有关GUI界面配置的文章确定太少,改写了一个以前很早的工具 以前的那个有很多的问题,这个基本的大的问题没有,可能一个小问题还是需要修改下,基本功能肯定 ...
- log4net 日志框架的配置
log4net 日志框架的配置——静态文件(一) 添加对log4net程序集的引用 选择程序集文件添加引用即可,需要注意的是需要添加相应程序版本的程序集,如果你的应用是基于.netFramework2 ...
- 日志管理-将Log4net的配置配置到的独立文件中
转自:http://www.cnblogs.com/zfanlong1314/p/3662679.html使用log4net已经很久了.但从来没有详情了解log4的参数,及具体使用方法.看了周公的博客 ...
随机推荐
- 数据库连性池性能测试(hikariCP,druid,tomcat-jdbc,dbcp,c3p0)
文章转自 https://www.tuicool.com/articles/qayayiM 摘要: 本文主要是对这hikariCP,druid,tomcat-jdbc,dbcp,c3p0几种连接池的 ...
- 如何优雅地使用Sublime Text3(转)
转自http://www.jianshu.com/p/3cb5c6f2421c/ Sublime Text:一款具有代码高亮.语法提示.自动完成且反应快速的编辑器软件,不仅具有华丽的界面,还支持插件扩 ...
- 类似Visual Studio一样,使用Qt Creator管理多个项目,创建子项目
1. 简介 QtCreator是一个十分好用的跨平台IDE,由于最近需要在Windows和Mac同时写一个C++的代码,使用VS和XCode不能实现项目的统一管理(可以使用cmake来组织源码,但是每 ...
- CVE-2018-14424 use-after-free of disposed transient displays 分析报告
漏洞描述 GDM守护进程不能正确的取消导出在D-Bus 接口上已经被销毁的display对象,这造成本地用户可以触发UAF,从而使系统崩溃或造成任意代码执行. 调试环境 gdm版本: 3.14.2(通 ...
- P4208 [JSOI2008]最小生成树计数
现在给出了一个简单无向加权图.你不满足于求出这个图的最小生成树,而希望知道这个图中有多少个不同的最小生成树.(如果两颗最小生成树中至少有一条边不同,则这两个最小生成树就是不同的)输出方案数对31011 ...
- 【转】js 获取浏览器高度和宽度值(多浏览器
原文地址:http://www.jb51.net/article/19844.htm js获取浏览器高度和宽度值,尽量的考虑了多浏览器. IE中: document.body.clientWidth ...
- NOI.ac #8 小w、小j和小z LIS
传送门 题意:在一个数轴上,给出$N$个人的初始位置与速度(速度有方向),求最大的时间使得存在$N-K$个人在这一段时间内两两没有相遇.$1 \leq K \leq N \leq 10^5$ 显然有二 ...
- 从一些代码方法中,去学习C#委托
先来看看下面一个类中的一些方法: class Bc { public double Add(double number1, double number2) { return number1 + num ...
- (转)deb制作文件详解
转自:http://blog.chinaunix.net/uid-16184599-id-3041024.html 如何制作Deb包和相应的软件仓库,其实这个很简单.这里推荐使用dpkg来进行deb包 ...
- ASP HTMLEncode/HTMLDecode
asp 有Server.HTMLEncode 却没有 Server.HTMLDecode....... 需要自定义一个 HTMLDecode 函数: Function HTMLDecode(sText ...