1、Log4Net是什么?
Log4Net
是用来记录日志的,可以将程序运行过程中的信息输出到一些地方(文件、数据库、
EventLog
等)
2、Appender
Appender:可以将日志输出到不同的地方,不同的输出目标对应不同的Appender:RollingFileAppender(滚动文件)、AdoNetAppender(数据库)、SmtpAppender (邮件)等
3、 level
level(级别):标识这条日志信息的重要级别。None>Fatal>ERROR>WARN>DEBUG>INFO>ALL,设定一个Level,那么低于这个Level的日志是不会被写到Appender中的
4、
配置一个
Log4NetDemo的
环境步骤
(1)、
新建一个控制台项目,添加一个“应用程序配置文件”(
App.config
)
(2)、
在
App.Config
或者
Web.Config
的添加如下配置:
<!--
Log4net块配置
-->
<
configSections
>
<
section
name
=
"
log4net
"
type
=
"
log4net.Config.Log4NetConfigurationSectionHandler, log4net
"
/>
</
configSections
>
<
log4net
>
<!-- 定义一些
appenders
-->
<
appender
name
=
"
RollingLogFileAppender
"
type
=
"
log4net.Appender.RollingFileAppender
"
>
<!--
写到哪个文件里去
-->
<
file
value
=
"
test.txt
"
/>
<!--
往文件里追加
-->
<
appendToFile
value
=
"
true
"
/>
<!--
最多10个日志备份文件
-->
<
maxSizeRollBackups
value
=
"
10
"
/>
<!--
每个文件最大为1M
-->
<
maximumFileSize
value
=
"
1024KB
"
/>
<!--
回滚的格式按照大小
-->
<
rollingStyle
value
=
"
Size
"
/>
<
staticLogFileName
value
=
"
true
"
/>
<
layout
type
=
"
log4net.Layout.PatternLayout
"
>
<
conversionPattern
value
=
"
%date [%thread] %-5level %logger - %message%newline
"
/>
</
layout
>
</
appender
>
<
root
>
<!--
定义level级别值和appender的列表
-->
<
level
value
=
"
DEBUG
"
/>
<
appender-ref
ref
=
"
RollingLogFileAppender
"
/>
</
root
>
</
log4net
>
(3)、
添加对
log4net.dll
的引用
(4)、
初始化:在程序最开始加入
log4net.Config.XmlConfigurator.Configure();
(5)、
在要打印日志的地方
LogManager.GetLogger(typeof(Program))
.Debug("
信息
");
通过
LogManager.GetLogger
传递要记录的日志类类名获得这个类的
ILog
(这样在 日志文件中就能看到这条日志是哪个类输出的了),然后调用
Debug
方法输出消息。因为一个类内部不止一个地方要打印日志,所以一般把
ILog
声明为一个
static
字段。
(6)、
输出错误信息用
ILog.Error
方法,第二个参数可以传递
Exception
对象。
log.Error
("***
错误
"+ex)
,
log.Error
("***
错误
",ex)
主程序代码:
amespace log4netDemo
{
class Program
{
private static ILog log = LogManager.GetLogger(typeof(Program));
static void Main(string[] args)
{
//从配置文件读取log4net的配置,然后进行初始化操作
log4net.Config.XmlConfigurator.Configure();
log.Debug("调试");
log.Error("出错");
}
}
}
运行结果:在该程序bin/Debug目录下生成test.txt文本文件,内容如下:
2013-10-20 00:39:24,730 [8] DEBUG log4netDemo.Program - 调试
2013-10-20 00:39:24,743 [8] ERROR log4netDemo.Program - 出错