log4net的使用
1.0 下载并引用 log4net.dll
2.0 修改Web.config
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
</configSections> <log4net>
<!--错误日志配置 :其中name 可以程序员自己定义,但是这个名字一定要和 <logger name="logerror">下面的
<appender-ref ref="ErrorAppender"/> 中 ref的值保持一致
-->
<appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
<!--日志文件存储的位置是:Log\\LogError\\-->
<param name="File" value="Log\\LogError\\"/>
<!--表示将内容以追加的形式,保存到日志文件中-->
<param name="AppendToFile" value="true"/>
<!--每天的日志备份数可以有100个-->
<param name="MaxSizeRollBackups" value="100"/>
<!--表示每个日志文件的大小只能是10M-->
<param name="MaxFileSize" value="10240"/>
<!--文件名称是固定格式的-->
<param name="StaticLogFileName" value="false"/>
<!--文件名称是固定格式为:yyyyMMdd-->
<param name="DatePattern" value="yyyy-MM-dd".log""/>
<!--每天都是以yyyyMMdd来进行命名文件-->
<param name="RollingStyle" value="Date"/>
<!--设定写入的日志格式-->
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%n异常时间:%d [%t] %n异常级别:%-5p %n异 常 类:%c [%x] %n%m %n "/>
</layout>
</appender>
<!--log4net.LogManager.GetLogger("logerror")用这个来选择这种类型-->
<logger name="logerror">
<!--这个配置文件,如果配置成ALL:表示可以记录 1、信息日志(Info) 2、警告日志(Warn) 3、错误日志(Error)-->
<!--<level value="Error"/> 只会记录错误级别的日志-->
<level value="ALL"/>
<appender-ref ref="ErrorAppender"/>
</logger> </log4net>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web> </configuration>
Web.config
3.0 LogHelper.cs 帮助类
public class LogHelper
{
//通过配置文件的logerror 进行日志写入对象的实例化
public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror"); //选择<logger name="logerror">的配置 static LogHelper()
{
SetConfig();
} /// <summary>
/// 初始化web.config中的<log4net>节点中的配置
/// </summary>
public static void SetConfig()
{
log4net.Config.XmlConfigurator.Configure();
} /// <summary>
/// 负责将信息日志写入到日志文件
/// </summary>
public static void WriteInfo(string msg)
{
//检查信息日志是否允许
if (logerror.IsInfoEnabled)
{
//表示写入信息级别的日志
logerror.Info(msg);
}
} /// <summary>
/// 负责将警告日志写入到日志文件
/// </summary>
public static void WriteWarn(string msg)
{
if (logerror.IsWarnEnabled)
{
//表示写入警告级别的日志
logerror.Warn(msg);
}
} /// <summary>
/// 负责将错误日志写入到日志文件
/// </summary>
public static void WriteError(string msg)
{
if (logerror.IsErrorEnabled)
{
//表示写入异常级别的日志
logerror.Error(msg);
}
}
}
public class LogHelper{...}
4.0 测试
public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
try
{
int i = ;
int j = ;
int c = j / i;
}
catch (Exception ex)
{
//记录到日志
LogHelper.WriteInfo(ex.ToString());
}
}
}
protected void Page_Load(object sender, EventArgs e){...}
log4net的使用的更多相关文章
- Log4net - 规则简介
参考页面: http://www.yuanjiaocheng.net/CSharp/csharprumenshili.html http://www.yuanjiaocheng.net/entity/ ...
- Log4net - 项目使用的一个简单Demo
参考页面: http://www.yuanjiaocheng.net/entity/entitytypes.html http://www.yuanjiaocheng.net/entity/entit ...
- log4net使用手册
1. log4net简介 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.Java平台下,它还 ...
- Log4Net应用问题
问题 一.日志存储方式 1.txt 2.SQLServer数据库 3.log文件 二.项目类型不同 1winFrom 2webFrom 3MVC 4WPF 5控制台 三.切分依据不同 1.空间大小 2 ...
- 在C#代码中应用Log4Net系列教程(附源代码)
Log4Net应该可以说是DotNet中最流行的开源日志组件了.以前需要苦逼写的日志类,在Log4Net中简单地配置一下就搞定了.没用过Log4Net,真心不知道原来日志组件也可以做得这么灵活,当然这 ...
- Log4net入门(帮助类篇)
在前几篇Log4net入门文件的讲述过程中,我们在使用log4net的类中都要编写如下一行代码: private static log4net.ILog log = log4net.LogManage ...
- Log4net入门(WCF篇)
在上一篇Log4net入门(ASP.NET MVC 5篇)中,我们讲述了如何在ASP.NET MVC 5项目中使用log4net.在这一篇中,我们将讲述如何在WCF应用中使用log4net,为了讲述这 ...
- Log4net入门(ASP.NET MVC 5篇)
在前4篇Log4net入门文章中,我们讲述了log4net的一些简单用法,在这一篇中我们主要讲述如何在ASP.NET MVC 5项目中将日志信息写入SQL Server数据库中. 一.创建最简单的AS ...
- Log4net入门(SQL篇)
我们在Log4net入门(回滚日志篇)中详细讲述了如何将日志信息输出到日志文件中,在这一篇中,我们将讲述如何将日志文件写入SQL Server数据库,以方便我们分析统计日志信息. 首先,我们在SQL ...
- Log4net入门(回滚日志文件篇)
在上一篇Log4net(日志文件篇)中,我们使用"log4net.Appender.FileAppender"将日志信息输出到一个单一的文件中,随着应用程序的持续使用,该日志文件会 ...
随机推荐
- 如何理解T-SQL中Merge语句(二)
写在前面的话:上一篇写了如何理解T-SQL中Merge语句,基本把Merge语句要讲的给讲了,在文章的后面,抛出了几个结,当时没有想明白怎么去用文字表达,这一篇就来解答一下这几个结,又是一篇“天马行空 ...
- MySQL中的全文索引
之前曾经发表了一篇关于SQL Server全文索引的文章.现在将MySQL全文索引的配置过程记录一下. Step1:创建Student表 CREATE TABLE `student` ( `id` I ...
- C语言 · 出现次数最多的数
问题描述 编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20.然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来.如果有两 ...
- Qt on Android 核心编程
Qt on Android 核心编程(最好看的Qt编程书!CSDN博主foruok倾力奉献!) 安晓辉 著 ISBN 978-7-121-24457-5 2015年1月出版 定价:65.00元 4 ...
- WCF学习之旅——第一个WCF示例(一)
最近需要用到WCF,所以对WCF进行了解.在实践中学习新知识是最快的,接下来先做了一个简单的WCF服用应用示例. 本文的WCF服务应用功能很简单,却涵盖了一个完整WCF应用的基本结构.希望本文能对那些 ...
- 工作任务:模拟淘宝登录和购物车功能:使用cookie记录登录名,下次登录时能够记得上次的登录名,使用cookie模拟购物车功能,使用session记住登录信息并验证是否登录,防止利用url打开网站,并实现退出登录功能
登入界面<% Cookie[] cks =request.getCookies(); String str=null; for(Cookie ck:cks) { if(ck.getName(). ...
- .net 网络编程
1.首先说下计算机网络中的TCP/IP参考模型 TCP/IP把网络分为5层,每一层负责完成不同的功能 1)应用层:传输报文,提供各种网络应用,有FTP.SMTP.HTTP等协议 2)运输层:传输报文段 ...
- Socket实现仿QQ聊天(可部署于广域网)附源码(4)-加入数据库系统搭建完成
1.前言 这是本系列的第四篇文章,上一篇我们讲到实现了客户端对客户端的抖屏与收发各种类型文件,本篇文章我们加入SQLServer数据库实现登录与好友的添加等功能,并对界面做了美化处理.向往常一样我会把 ...
- C#设计模式系列:状态模式(State)
1.状态模式简介 1.1>.定义 状态模式的核心思想是允许一个对象在它的内部状态改变时改变它的行为,即不同的状态对应不同的行为. 状态模式的针对性很强,当有状态变化的时候可以选择状态模式. 1. ...
- 实战MEF(4):搜索范围
在前面的文章中,几乎每个示例我们都会接触到扩展类的搜索位置,我们也不妨想一下,既然是自动扩展,它肯定会有一个或者多人可供查找的位置,不然MEF框架怎么知道哪里有扩展组件呢? 就像我们用导航系统去查找某 ...