本文用来写一个最简单的log4net示例demo,起作用是让大家可以很快的上手log4net且归你所用。
log4net介绍
log4net是一个功能著名的开源日志记录组件。通过它可以将.net应用程序的日志记录到多种介质之中,包括:文件、控制台、window事物日志和数据库中(MS SQL Server、Access、Oracle9i、DB2、SQLite)中,并且我们还可以设置和标示日志的级别等。
和其它大多开源组件一样,log4net也是从Java项目过度而来。log4net来源于java应用中的log4J.
想了解跟多log4net的信息,请登录log4net
官方网站;下载最新版本的请
点击这里。目前最新的版本是:1.2.11
特点:
(1) 开源,源代码可见。
(2)兼容多种.net框架(.Net1.0,2.0,3.0,3.5,4.0)
(3)支持多种日志信息输出方式和日志信息格式定制
(4)支持xml动态配置和对整个日志过程配置管理
(5)模块化设计和可扩展性强(接口)
(6)具有较高的灵活性和性能
(二)核心组件
log4net的有4种核心组件:
(1)logger,记录器
(2)Appender,附着器
(3)Layout,布局
(4)Repository(库)
log4net使用
主要分为以下三步:
第一步,下载了最新源码后编译生成一个log4net.dll然后添加引用到我们的示例项目中。
第二步,配置log4net配置文件,请参考如下示例:
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
</configSections>
<log4net>
<!--定义输出到文件中-->
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<!--定义文件存放位置-->
<file value="D:/log4netfile.txt"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="yyyyMMdd-HH:mm:ss"/>
<layout type="log4net.Layout.PatternLayout">
<!--每条日志末尾的文字说明-->
<footer value="by 木杉"/>
<!--输出格式-->
<!--样例:2008-03-26 13:42:32,111 [10] INFO Log4NetDemo.MainClass [(null)] - info-->
<conversionPattern value="记录时间:%date 线程ID:[%thread] 日志级别:%-5level 出错类:%logger property:[%property{NDC}] - 错误描述:%message%newline"/>
</layout>
</appender>
<!--定义输出到控制台命令行中-->
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
</layout>
</appender>
<root>
<!--文件形式记录日志-->
<appender-ref ref="LogFileAppender"/>
<!--控制台控制显示日志-->
<appender-ref ref="ConsoleAppender"/>
</root>
</log4net>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
第三步,编写示例代码,如下代码所示:
using System;
using System.Reflection;
using log4net;
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
namespace log4netDemo
{
class Program
{
static void Main(string[] args)
{
//创建日志记录组件实例
ILog myLog = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
//记录错误日志
myLog.Error("error",new Exception("这是一条错误日志"));
//记录致命错误
myLog.Fatal("fatal",new Exception("这是一条致命错误"));
//记录一般信息
myLog.Info("info",new Exception("这是一条一般信息:其实就是无病呻吟"));
//记录一条调试信息
myLog.Debug("debug",new Exception("这个过程就是调试的过程"));
//记录警告信息
myLog.Warn("警告:你的程序马上就结束了");
Console.WriteLine("日志记录结束");
Console.ReadKey();
}
}
}
运行结果:
note:d盘下对应的日志文件也是有的 ,这里我就不在文章里贴了。
总结
本文介绍了log4net如何使用,其中第一步和第二步大家都是一样的,到具体的编码后就是我们自己编写了。具体各个配置是什么意思,我以后再写文章分享。