bool isInfoEnabled;
级别 |
允许的方法 |
Boolean属性 |
优先级别 |
OFF |
|
|
Highest |
FATAL |
void Fatal(...); |
bool IsFatalEnabled; |
|
RROR |
void Error(...); |
bool IsErrorEnabled; |
|
WARN |
void Warn(...); |
bool IsWarnEnabled; |
|
INFO |
void Info(...); |
bool IsInfoEnabled; |
|
DEBUG |
void Debug(...); |
bool IsDebugEnabled; |
|
ALL |
|
|
Lowest |
Logger.Debug("message");
Logger.Warn("message");
{
Logger.Debug("message");
}
2.4 Appender Filters
一个Appender 对象缺省地将所有的日志事件传递到输出流。Appender的过滤器(Appender Filters) 可以按照不同的标准过滤日志事件。在log4net.Filter的名字空间下已经有几个预定义的过滤器。使用这些过滤器,你可以按照日志级别范围过滤日志事件,或者按照某个特殊的字符串进行过滤。你可以在API的帮助文件中发现更多关于过滤器的信息。
2.5 Layout
Layout 组件用于向用户显示最后经过格式化的输出信息。输出信息可以以多种格式显示,主要依赖于我们采用的Layout组件类型。可以是线性的或一个XML文件。Layout组件和一个Appender组件一起工作。API帮助手册中有关于不同Layout组件的列表。一个Appender对象,只能对应一个Layout对象。要实现你自己的Layout类,你需要从log4net.Layout.LayoutSkeleton类继承,它实现了ILayout接口。
3 在程序中使用log4net
3.1. 在自己的项目中添加对 log4net.dll 的引用。
3.2. 设置配置文件App.config
示例:
<configuration>
<!--如果不用App.config作配置文件,则configSections节不是必须的。-->
<configSections>
<!--“type”属性的完整格式为:配置节处理器类名,程序集名称,Version=程序集版本号,Culture=区域信息,PublicKeyToken=公钥-->
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<log4net>
<!--日志记录器logger,可以有多个-->
<logger name="AppLogger">
<level value="INFO" />
<appender-ref ref="LogFileAppender" />
<appender-ref ref="ConsoleAppender" />
</logger>
<logger name="Form1">
<level value="DEBUG" />
<appender-ref ref="LogFileAppender" />
</logger>
<!--所有logger的基,root的设置在所有logger中都起作用。
当在root和logger中重复设定相同的appender时,你会发现同一日志信息将被记录两次。-->
<!--<root>
<level value="WARN" />
<appender-ref ref="LogFileAppender" />
<appender-ref ref="ConsoleAppender" />
</root>-->
<!--一个appender可以由多个logger共用,当然一个logger可以指定多个appender。-->
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<param name="File" value="App.log" />
<param name="AppendToFile" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="Header" value="[Header]/r/n" />
<param name="Footer" value="[Footer]/r/n" />
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] %X{auth} - %m%n" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="DEBUG" />
<param name="LevelMax" value="FATAL" />
</filter>
</appender>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] %X{auth} - %m%n" />
</layout>
</appender>
</log4net>
</configuration>
3.3 代码里实现
{
log4net.ILog log = log4net.LogManager.GetLogger("AppLogger");
log.Debug("debug");
log.Info("info");
log.Warn("warn");
log.Error("error");
}