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. [Unity 3D] Unity 3D 里的碰撞检测

    Unity 3D里两个碰撞体之间发生碰撞可以用OnCollision族函数和OnTrigger族函数来获知和处理.Unity官方给出了两张可发生碰撞的组合表: Collision detection ...

  2. [Swust OJ 85]--单向公路(BFS)

    题目链接:http://acm.swust.edu.cn/problem/0085/ Time limit(ms): 5000 Memory limit(kb): 65535   Descriptio ...

  3. js中的总结汇总(以后的都收集到这篇)

    点1:js中的比较字符串是否相等,js中是用"=="这个来判断是否相等,这点跟java中不一样,java中是.equals()这种方法. 在之前写的ajax的demo中,因为用了. ...

  4. js window.onload事件

    1.最简单的调用方式 直接写到html的body标签里面,如: ? 1 2 3 4     <html>       <body onload="func()"& ...

  5. USACO Money Systems Dp 01背包

    一道经典的Dp..01背包 定义dp[i] 为需要构造的数字为i 的所有方法数 一开始的时候是这么想的 for(i = 1; i <= N; ++i){ for(j = 1; j <= V ...

  6. iOS 获取字符串中的单个字符

    要取到单个字符,就要知道字符串的编码方式,这样才能够定位每个字符在内存中的位置.但是,iOS的字符串编码是不固定的,因此,需要设置一个统一的编码格式,将所有其他格式的字符串都转化为统一的格式,然后就可 ...

  7. (step7.2.4)hdu 2674(N!Again——简单数论)

    题目大意:输入一个整数n,输出N! mod 2009 的结果. 解题思路: 1)任意数  n = ( n / 2009) * 2009 + n % 2009 2)40!  mod 2009  等于 2 ...

  8. Sublime 脚本 配置 (lua 和 JavaScript篇)

    { "cmd" :["C:/Lua/Lua.exe","$file"], "file_regex" :"^(? ...

  9. drupal中使用drush命令,快速批量的开启和关闭模块

    方法一: drush pml --no-core --type=module --status=enabled --pipe > modules.txt  xargs -a modules.tx ...

  10. QTP实践总结

    QTP实践总结 查询数据库修改freq 1.Testcasetable创建查询select * from testcasetable order by fseq desc 2.设计表-选项-修改自动递 ...