Log4net使用简明手册.docVIP

  • 3
  • 0
  • 约5.36千字
  • 约 5页
  • 2016-06-10 发布于重庆
  • 举报
Log4net使用简明手册

Log4net 使用简明手册 常见面,却不怎么用,究其原因还是觉得太复杂了点。不过,这东西出现次数越来越频繁,也只好写点东西,以备后用。本文仅对 Log4net 的使用做个简要说明,所有涉及到扩展和开发的部分一概忽略。 使 用 Log4net,需要熟悉的东东有 Logger、Appender 以及 Layout。Logger 是日志记录器,我们使用其相关方法来完成日志记录;Appender 用于设置日志的存储方式和位置,Logger 的配置中会绑定一个或多个 Appender;Layout 关联具体的 Appender,用于设置日志字符串的格式。 1. Logger 所有的记录器都必须实现 ILog 接口,该接口提供日志记录所需的大量方法。 public interface ILog : ILoggerWrapper { ??void Debug(...); ??void Error(...); ??void Fatal(...); ??void Info(...); ??void Warn(...); ??bool IsDebugEnabled { get; } ??bool IsErrorEnabled { get; } ??bool IsFatalEnabled { get; } ??bool IsInfoEnabled { get; } ??bool IsWarnEnabled { get; } } 通常情况下,我们通过 LogManager.GetLogger() 来获取一个记录器。LogManager 内部维护一个 hashtable,保存新创建 Logger 引用,下次需要时直接从 hashtable 获取其实例。 ILog log = LogManager.GetLogger(this.GetType());?? ?? log.Debug(aaaaaaaaaaaaaaa);?? 所有 Logger 的参数设置都直接或间接继承自 root,其继承关系类似 namespace。比如,名为 MyLogger.X.Y 参数设置继承自 MyLogger.X。当我们创建 MyLooger.X.Y 记录器时,会在配置文件找该名称的记录器设置,如果没找到,则按继承关系向上查找,直到 root。因此,在创建 Logger 时,我们通常使用类型名称做为记录器的名字,缺省情况下,它会使用 root 或某一个父配置,但在需要的时候,我们随时可以为具体的类型添加一个更加 详细 的配置。 ?xml version=1.0 encoding=utf-8 ? log4net ??appender name=Console type=log4net.Appender.ConsoleAppender ????layout type=log4net.Layout.PatternLayout ??????conversionPattern value=%5level [%thread] (%file:%line) - %message%newline / ????/layout ??/appender ??logger name=Learn.Library.Log4netTest ????level value=ALL / ??/logger ??root ????level value=OFF / ????appender-ref ref=Console / ??/root /log4net 在 创建 Logger 设置时,需要注意 level 参数。Log4net 允许我们通过该参数调整日志记录级别,只有高于或等于该级别的日志才会被记录下来。比如在代码调试阶段,我们可能希望记录所有的信息,而在部署阶段,我们 只希望记录级别更高的错误信息。这个参数的好处是允许我们在不修改代码的前提下,随时调整记录级别。 (高) OFF FATAL ERROR WARN INFO DEBUG ALL (低) appender-ref 参数用于绑定一个或多个具体的 Appender。   ?xml version=1.0 encoding=utf-8 ? log4net ??appender name=Console type=log4net.Appender.ConsoleAppender ??/appender ??appender name=RollingFile type=log4net.Appender.RollingFileAppender ??/appender ??root ????level value=DEBUG / ????appender-ref ref=Console / ????appender-ref r

文档评论(0)

1亿VIP精品文档

相关文档