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. LoaderManager使用具体解释(三)---实现Loaders

    这篇文字将介绍Loader<D>类,而且介绍自己定义Loader的实现.这是本系列的第三篇文章. 一:Loaders之前世界 二:了解LoaderManager 三:实现Loaders 四 ...

  2. for语句之侦查队挑选人、猴子吃桃、5个小朋友算年龄、1 () 2 () 3 ()4 = 4;问括号里我要填 (- 或 +)问题

    1.某侦察队接到一项紧急任务,要求在A.B.C.D.E.F六个队员中尽可能多地挑若干人,但有以下限制条件:侦察兵A和B两人中至少去一人: a+b>=1(由于每个队员有两种状态:去与不去,假设不去 ...

  3. myeclipse8.5如何注册,转自他出

    Step: 1.建立一个任意名称的Java Project 2.在该工程中建立一个名文MyEclipseGen的Java文件(MyEclipseGen.java) 3.运行下面的代码,会在控制台出现& ...

  4. <转> 30 个有关 Python 的小技巧

    目录[+] 1.1 拆箱 1.2 拆箱变量交换 1.3 扩展拆箱(只兼容python3) 1.4 负数索引 1.5 切割列表 1.6 负数索引切割列表 1.7指定步长切割列表 1.8 负数步长切割列表 ...

  5. Python实现 zip解压缩到指定目录

    #!/bin/env python #-*- coding:utf-8 -*- import zipfile,os import platform,sys,os from zipfile import ...

  6. docker学习笔记16:Dockerfile 指令 ADD 和 COPY介绍

    一.ADD指令 ADD指令的功能是将主机构建环境(上下文)目录中的文件和目录.以及一个URL标记的文件 拷贝到镜像中. 其格式是: ADD  源路径  目标路径 如: #test FROM ubunt ...

  7. mysqli_set_charset和SET NAMES优劣分析

    bool mysqli_set_charset ( mysqli $link , string $charset ) 这应该是首选的用于改变字符编码的方法,不建议使用 mysqli_query()执行 ...

  8. 设计模式(四)原型模式Prototype(创建型)

      设计模式(四)原型模式Prototype(创建型) 1.   概述 我们都知道,创建型模式一般是用来创建一个新的对象,然后我们使用这个对象完成一些对象的操作,我们通过原型模式可以快速的创建一个对象 ...

  9. python 字符串处理

    介绍字符串相关的:比较,截取,替换,长度,连接,反转,编码,格式化,查找,复制,大小写,分割等操作 什么是字符串 字符串 字符串或串(String)是由数字.字母.下划线组成的一串字符.一般记为 s= ...

  10. Flash键盘钢琴谱

    http://hi.baidu.com/%CC%EC%CA%B9%D2%FE%D2%ED/blog/item/e763d4eac3dcfb242cf53468.html <童话>Flash ...