LYWILL设计运营 - 网站运营与推广、开发技术、成功项目展示。

log4net基本资料

在做项目的时候令我最头疼的是在程序发布到正式环境之后出现了问题,我们不能调试而且问题很难重现,于是我们需要大量的日志数据来精确的跟踪程序的运行状况。 

Log.net就可以帮我来解决这一个难题,对于日志的输出我们不需要人为的去干涉,它可以根据需要将日志输出到控制台,文本文件,windows 日志事件查看器中,包括数据库,邮件等等位置,以便我们快速跟踪程序bug 

 

Log4Net 结构

Log4net 主要分为5个核心主键: Logger,Appender,Filter,Layout,Object Render 

Logger: 

主要用于记录日志的分类和控制日志的级别。它可以以多种格式输出日志信息,同时它也可以控制日志的输出级别。上面的简单例子我们看似做了日志输出,但是没有输出任何日志结果,因为我们在日志级别上做了限制。 

Appender 

这里我们简单称之为 附着器。意思就是说日志的输出必须依赖于它,更确切的说以文本形式输出,还是控制台格式输出都必须要依靠它来控制。Log4net定义了多种附着器:

(1) AdoNetAppender 将日志记录到数据库中。可以采用SQL和存储过程两种方式 

(2) AnsiColorTerminalAppender ANSI 窗口终端写下高亮度的日志事件 

(3) AspNetTraceAppender 能用asp.netTrace的方式查看记录的日志

(4) BufferingForwardingAppender 在输出到子Appenders之前先缓存日志事件 

(5) ConsoleAppender 将日志输出到控制台 

(6) EventLogAppender 将日志写到Windows Event Log 

(7) FileAppender 将日志写到文件中 

(8) MemoryAppender 将日志存到内存缓冲区 

(9) NetSendAppender 将日志输出到Windows Messenger service.这些日志信息将在用户终端的对话框中显示 

(10) RemoteSyslogAppender 通过UDP网络协议将日志写到Remote syslog service

(11) RemotingAppender 通过.NET Remoting将日志写到远程接收端 

(12) RollingFileAppender 将日志以回滚文件的形式写到文件中 

(13) SmtpAppender 将日志写到邮件中 

(14) TraceAppender 将日志写到.NET trace 系统 

(15) UdpAppender 将日志connectionless UDP datagrams的形式送到远程宿主或以UdpClient的形式广播 

 

Filter:

Appender 是将日志以缺省值的方式输出,意思就是按照默认值的方式输出。而Filter 意思就是过滤器,使用Filter 可以将日志以不同格式来输出 

Layout:

这个用于控制日志输出显示格式 

Object Render:

用于按照用户自定义标准来输出日志 

 

Log4net 结构图 (从其他地方截图过来)

 


Log4net 的日志对象管理器LogManagerLogManager是用于来管理所有的Logger对象的,GetLogger() 可以用来查找已经存在的Logger对象,如果对象不存在它会自动创建一个Logger对象,并且管理它 。

 Log4Net 日志级别

Log4net 分为如下几个级别:

   FATAL  毁灭级别

   ERROR 错误级别

   WARN 警告级别

   INFO 消息级别

   DEBUG 调试级别

      这几种日志级别 FATAL> ERROR> WARN> INFO>DEBUG

      只有日志输出级别大于或等于配置的级别才能输出日志信息

      比如我的日志配置级别为INFO

      那么只有log.Info() log.Warn()log.Error() log.Fatal()才能输出日志信息,Debug方式就不能输出。

       Log4net中还有两种特殊的配置级别: ALL 允许所有的日志级别输出 OFF 拒绝所有的日志级别输出

标签: log4net

作者:lywill 分类:开发技术 浏览:2462 评论:0