log4net概貌

log4net是一个框架,用来记录日志的框架。为什么要记录日志呢?每个程序员都不能保证自己的程序完全没有错误,可是当程序已经部署的时候出现错误怎么办?我们这时候就要根据我们的日志文件来确定错误的地方,这样方便我们更改错误重新部署新的文件。

log4net支持的框架

  • Microsoft .NET Framework 1.0
  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 2.0
  • Microsoft .NET Framework 3.5
  • Microsoft .NET Framework 4.0
  • Microsoft .NET Framework 3.5 Client Profile
  • Microsoft .NET Framework 4.0 Client Profile
  • Microsoft .NET Compact Framework 1.0
  • Microsoft .NET Compact Framework 2.0
  • Mono 1.0
  • Mono 2.0
  • Microsoft Shared Source CLI 1.0
  • CLI 1.0 Compatible

上述这么多平台是什么意思呢?简单理解就是当我们用上面的基础框架来开发程序时我们都可以用log4net来记录日志。比如我们用.net framework 4.0(目前我们开发的程序大部分都是这个,比如VS2010里面开发web或者桌面程序时)开发的程序,那么我们就可以在下载的dll中找到对应的dll引用过来就可以直接按照log4net的规则来实现日志的导出。当我们使用别的框架时,比如.net compact framework 3.5时就要找到对应的dll才能实现(在调用log4net的过程中和.net framework 流程一样,但是具体的实现方式不同)。其他平台也类似,mono是用在linux上的。

log4net的日志记录在哪里?

记录的地方很多,比如文件里,数据库里,具体的保存到哪里要根据配置文件来确定,配置文件的内容包括如下:

  • log4net.Appender.ADONetAppender

    用SQL语句或是存储过程把记录写到数据库中
  • log4net.Appender.ASPNetTraceAppender
    将记录写到ASP Trace内容中
  • log4net.Appender.ConsoleAppender
    将记录写到程序控制台,可以作为错误输出,也可以作为标准输出
  • log4net.Appender.EventLogAppender
    将记录写入到Windows事件日志中
  • log4net.Appender.FileAppender
    将记录写入到指定文件中
  • log4net.Appender.MemoryAppender
    将记录写入到内存中的缓存中
  • log4net.Appender.NetSendAppender
    将记录用Windows Messenger Service发送到指定终端
  • log4net.Appender.OutputDebugStringAppender
    将记录用JIT调试的方式显示。如果应用程序没有配置Debug,那么调用系统的配置显示,如果应用程序和系统都没有配置,那么信息被忽略
  • log4net.Appender.RemotingAppender
    利用Remoting把记录写入到Remoting消息链中
  • log4net.Appender.RollingFileAppender
    将记录写入到文件中,可以按照时间或文件大小等条件写入到多个文件
  • log4net.Appender.SMTPAppender
    将记录发送到指定的邮件地址
  • log4net.Appender.TraceAppender
    将记录写入到Windows跟踪系统
  • log4net.Appender.UdpAppender
    将记录通过UDP端口发送到连接的终端

总结

本文主要介绍了log4net是什么,可以用来干嘛等,其实技术的问题没介绍多少,大致如何用。也许有人觉得这都是废话,但是我认为这是必须的废话。在了解一门技术之前首先要知道这门技术是用来干嘛的。否则学了很多都是散沙,没多久就散了。

log4net概述的更多相关文章

  1. log4net学习目录

    log4net是用来记录日志的,日志是用来帮助我们排除错误和异常的.这是我们编写软件必须要用到的东西,前面总结了一些有关日志和log4net的文章,在这整理个目录东大家参考. C#日志工具汇总 log ...

  2. 浅谈Log4net在项目中如何记录日志

    一    引入背景 在软件开发周期中,无论是开发中,或是测试中,或是上线后,选择合适的工具监控程序的运行状态至关重要,只有如此,才能更好地排查程序问题和检测程序性能问题等.本篇文章主要与大家分享,如何 ...

  3. Apache log4net™ 手册——概述【翻译】

    原文地址 本文内容 概述 框架 日志(Loggers)和追加器(Appenders) 日志层次(Logger hierarchy) 追加器(Appenders) 筛选(Filters) 布局(Layo ...

  4. 搭建一套自己实用的.net架构(2)【日志模块-log4net】

    先谈谈简单的模块,日志.在系统中日志模块是必须的,什么系统日志,操作日志,调试日志.这里用的是log4net. 对log4net还不熟悉的小伙伴们赶快去搜索基础教程哦, 我这里就不温故了. 那么有人要 ...

  5. 搭建一套自己实用的.net架构(1)【概述】

    入园很久,一直默默的潜水,近来得空想写点什么. 思前想后,那就把自己平时没事干自己摘抄.引用.瞎写的一些东西写出来.帮助自己巩固一下,顺便请高手们指点一二. 我本人很懒 ,一些代码就是直接复制别人的劳 ...

  6. (转)非常完善的Log4net详细说明

    转自:http://www.cnblogs.com/zhangchenliang/p/4546352.htmlhttp://www.cnblogs.com/zhangchenliang/p/45463 ...

  7. Log4net 日志使用介绍

    概述 Log4net 有三个主要组件:loggers,appenders 和 layouts.这三个组件一起工作使得开发者能够根据信息类型和等级(Level)记录信息,以及在运行时控制信息的格式化和信 ...

  8. log4net详解(转载)

    1.概述 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.本文主要是介绍如何在Visual S ...

  9. log4net详细配置说明

    原文地址:http://blog.sina.com.cn/s/blog_671486bc01011rdj.html 1.概述 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记 ...

随机推荐

  1. 基于Bresenham算法画圆

    bresenham算法画圆思想与上篇 bresenham算法画线段 思想是一致的 画圆x^2+y^2=R^2 将他分为8个部分,如上图 1. 只要画出1中1/8圆的圆周,剩下的就可以通过对称关系画出这 ...

  2. 点菜系统 pickview的简单实用

    使用pickview的时候多想想tableview的使用,观察两者的相同之处 pickview的主要用途用于选择地区  生日年月日  和点餐 示例代码 简单的pickview点餐系统//  ViewC ...

  3. 用newLISP读取Hive的元数据

    思想是通过调用hive -e命令,然后解析返回的结果. 以下的hive.lsp文件是一个样例,提供了读取本地hive数据库名称.表名,表结构和依据hive表的创建语句生成相应的MySQL的创建语句. ...

  4. 和S5933比较起来,开发PLX9054比较不幸,可能是第一次开发PCI的缘故吧。因为,很多PCI的例子都是对S5933,就连微软出版的《Programming the Microsoft Windows Driver Model》都提供了一个完整的S5933的例子。 在这篇有关DDK的开发论文里。

    和S5933比较起来,开发PLX9054比较不幸,可能是第一次开发PCI的缘故吧.因为,很多PCI的例子都是对S5933,就连微软出版的<Programming the Microsoft Wi ...

  5. Python高级之Socket 探索(五)

    目录: 面向对象 反射 socket 一.面向对象 方法 方法包括:普通方法.静态方法和类方法,三种方法在内存中都归属于类,区别在于调用方式不同. 普通方法:由对象调用:至少一个self参数:执行普通 ...

  6. BufferedInputStream 源码分析

    一.简介 BufferedInputStream会缓存一部分数据(默认8K),这个函数的作用就是读取更多的数据到缓存,必要的时候会扩大缓存的内容. 在该类中有几个重要的标志位:markpos,pos, ...

  7. php 原生或curl获取 http headers

    有一个函数: array get_headers ( string $url [, int $format = 0 ] ) Parameters url The target URL. format ...

  8. C#委托好处知多少

    1.性能 性能是泛型的一个主要优点. 直接上例子,通过实例可以让我们很好的理解这一点. Stopwatch stopwatch = new Stopwatch(); stopwatch.Start() ...

  9. printk

    printk的日志级别定义如下(在linux/kernel.h中): #define KERN_EMERG "<0>"/*紧急事件消息,系统崩溃之前提示,表示系统不可用 ...

  10. 基于visual Studio2013解决C语言竞赛题之0518回文数

     题目