您的位置:首页 > 其它

log4net的用法

2013-04-17 15:42 260 查看
现以一个实例说明Log4net的使用:

1, 下载Log4net组件:

http://logging.apache.org/log4net/download.html

http://archive.apache.org/dist/incubator/log4net/1.2.10/incubating-log4net-1.2.10.zip

2,解压出Log4net组件dll:

incubating-log4net-1.2.10.zip\log4net-1.2.10\bin\net\2.0\release:

log4net.xml

log4net.dll

3,将log4net.dll拷贝到.Net项目目录下的:bin/debug下;

4,将log4net.dll加到项目引用中,添加方法为:右键单击VS工具解决方案项目下的引用然后选择log4net.dll确定;

5,在bin/debug下建立log4net配置文件log4net.xml,文件内容如下:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net-net-1.0"    />
</configSections>

<log4net>
<!-- 日志级别:
级别 允许的方法 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
-->
<root>
<level value="WARN" />
<appender-ref ref="LogFileAppender" />
<appender-ref ref="ConsoleAppender" />
</root>

<logger name="com.suntom">
<level value="DEBUG"/>
</logger>
<!-- 日志输出格式化:
%m(message):输出的日志消息,如ILog.Debug(…)输出的一条消息
%n(new line):换行
%d(datetime):输出当前语句运行的时刻
%r(run time):输出程序从运行到执行到当前语句时消耗的毫秒数
%t(thread id):当前语句所在的线程ID
%p(priority): 日志的当前优先级别,即DEBUG、INFO、WARN…等
%c(class):当前日志对象的名称,例如:
模式字符串为:%-10c -%m%n
代码为:
ILog log=LogManager.GetLogger(“Exam.Log”);
log.Debug(“Hello”);
则输出为下面的形式:
Exam.Log       - Hello
%L:输出语句所在的行号
%F:输出语句所在的文件名
%-数字:表示该项的最小长度,如果不够,则用空格填充
-->
<appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
<param name="File" value="./log.txt" />
<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 - %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] - %m%n" />
</layout>
</appender>

</log4net>

</configuration>


6,在项目中配置Log4net,配置方法:在AssemblyInfo.cs(Web 项目为web.config)最下面添加:

[assembly: log4net.Config.XmlConfigurator(ConfigFile="./log4net.xml", ConfigFileExtension="xml", Watch=true)]

7,在项目中使用Log4net,如类:com.suntom.testClass:

log4net.ILog log = log4net.LogManager.GetLogger(this.GetType());

log.Debug("Enter initMenus()");

8, 启动程序并运行到日志输出处,退出程序后就可以在 bin/debug下 看到日志文件:

log.txt:

[Header]\r\n2011-07-04 22:38:58,226 [10] DEBUG com.suntom.testClass - Enter initMenus()

[Footer]

9,在此,Log4net就可以使用了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: