log4net是一个进行日志输出的.net开源组件,可以将日志按照配置文件的设置定向输出到不同的目标处(比如控制台、系统日志、文件等)。log4net可以从http://sourceforge.net/project/showfiles.php?group_id=31983&release_id=171808处下载。
我们新建一个控制台应用程序,添加一个”应用程序配置文件“,log4net是在应用配置文件里指定日志输出的格式、目标等。将一下代码写入App.config文件中
这是要运行一个使用log4net组件最简单的程序设置了,然后我们在程序的Main函数中写入一下代码:
这样就可以在程序中使用log4net的api来进行日志输出了。
下面主要把配置文件中的给个配置节说一下吧, < configSections >
< section name = " log4net " type = " System.Configuration.IgnoreHandlerSection " />
</ configSections >这部分配置主要是说明怎么进行<log4net>配置节解析的,我们使用时直接抄上去即可。
<appender>主要用来控制 输出目的的,在本例中,我们指定的type= “log4net.Appender.ConsoleAppender”,这是一个将日志输出到控制台的appender类,在这个配置节中,我们可以定义一些详细的输出设置,比如格式布局等等。我们可以改变type的内容来使日志输出到不同的地方。除了可以使用log4net自定义的appender类外,我们还可以自定义appender类,来扩展日志的输出。 我们可以同时定义多个 <appender>来实现将日志输出到多个目的地。以我的理解,每个程序配置文件至少要有一个 <appender>配置节。
<root>是必不可以的一项,只有在 < appender - ref>中定义的<appender>才会成为输出的目的,<level>用来控制输出的日志等级,只有在等级类的信息被输出。log4net中日志是分为不同的等级的,分别是:
我们新建一个控制台应用程序,添加一个”应用程序配置文件“,log4net是在应用配置文件里指定日志输出的格式、目标等。将一下代码写入App.config文件中
<?
xml version
=
"
1.0
"
encoding
=
"
utf-8
"
?>
< configuration >
< configSections >
< section name = " log4net " type = " System.Configuration.IgnoreHandlerSection " />
</ configSections >
< log4net >
< appender name = " console " type = " log4net.Appender.ConsoleAppender " >
</ appender >
< root >
< appender - ref ref = " console " />
< level value = " ALL " />
</ root >
</ log4net >
</ configuration >
< configuration >
< configSections >
< section name = " log4net " type = " System.Configuration.IgnoreHandlerSection " />
</ configSections >
< log4net >
< appender name = " console " type = " log4net.Appender.ConsoleAppender " >
</ appender >
< root >
< appender - ref ref = " console " />
< level value = " ALL " />
</ root >
</ log4net >
</ configuration >
static
void
Main(
string
[] args)
{
BasicConfigurator.Configure();//必须要写,否则log4net不能使用
ILog log = LogManager.GetLogger(typeof(log4netConsole.Program));
log.Info("This is a Test");
Console.ReadLine();
}
{
BasicConfigurator.Configure();//必须要写,否则log4net不能使用
ILog log = LogManager.GetLogger(typeof(log4netConsole.Program));
log.Info("This is a Test");
Console.ReadLine();
}
下面主要把配置文件中的给个配置节说一下吧, < configSections >
< section name = " log4net " type = " System.Configuration.IgnoreHandlerSection " />
</ configSections >这部分配置主要是说明怎么进行<log4net>配置节解析的,我们使用时直接抄上去即可。
<appender>主要用来控制 输出目的的,在本例中,我们指定的type= “log4net.Appender.ConsoleAppender”,这是一个将日志输出到控制台的appender类,在这个配置节中,我们可以定义一些详细的输出设置,比如格式布局等等。我们可以改变type的内容来使日志输出到不同的地方。除了可以使用log4net自定义的appender类外,我们还可以自定义appender类,来扩展日志的输出。 我们可以同时定义多个 <appender>来实现将日志输出到多个目的地。以我的理解,每个程序配置文件至少要有一个 <appender>配置节。
<root>是必不可以的一项,只有在 < appender - ref>中定义的<appender>才会成为输出的目的,<level>用来控制输出的日志等级,只有在等级类的信息被输出。log4net中日志是分为不同的等级的,分别是:
- ALL
- DEBUG
- INFO
- WARN
- ERROR
- FATAL
- OFF