您的位置:首页 > 其它

Log4net 简单实例源码及详细步骤

2016-11-16 23:16 429 查看
Log4net 简单实例源码及详细步骤

       Log4net的好处不再多言,配置方法很多(确也是大同小异,详情可自行查找资料或参考文末的参考链接),本文仅以一个简单的WinForm程序为实例说明其中一种用法。

       前期准备:

       官网下载:Log4net Apache官网下载地址

       以下载log4net-1.2.15-bin-newkey.zip为例,解压后bin目录下有cli、mono、net、net-cp四个子目录(其中:net-cp指:.NET Framework 4 Client Profile),进入net目录选择相应版本(本例取4.5),文件夹中log4net.dll即为所需。

       详细步骤:

       1、VS2013新建项目--C# Windows窗体应用程序,解决方案名称为:LogDemo;

       2、添加引用:将准备好的log4net.dll作为引用添加进来;

       3、在App.config中配置log4net:

       配置前App.config文件为:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>
配置后App.config文件为:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>

<log4net>
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<!-- 日志文件名 -->
<file value="AppLog.log" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%newline记录日期: %date 进程ID: [%thread] 日志级别: %-5level- %newline详细信息: %newline%message%newline" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="FileAppender" />
</root>
</log4net>
</configuration>


       4、新建LogHelper.cs类:
using log4net;

[assembly: log4net.Config.XmlConfigurator(Watch = true)]
namespace LogDemo
{
class LogHelper
{
private static readonly ILog log = LogManager.GetLogger(typeof(LogHelper));

// Info level
public static void Info(object message)
{
log.Info(message);
}

public static void Info(object message, Exception exception)
{
log.Info(message, exception);
}

// Debug level
public static void Debug(object message)
{
log.Debug(message);
}

public static void Debug(object message, Exception exception)
{
log.Debug(message, exception);
}

// Warn level
public static void Warn(object message)
{
log.Warn(message);
}

public static void Warn(object message, Exception exception)
{
log.Warn(message, exception);
}

// Error level
public static void Error(object message)
{
log.Error(message);
}

public static void Error(object message, Exception exception)
{
log.Error(message, exception);
}

// Fatal level
public static void Fatal(object message)
{
log.Fatal(message);
}

public static void Fatal(object message, Exception exception)
{
log.Fatal(message, exception);
}

//
public bool IsInfoEnabled
{
get
{
return log.IsInfoEnabled;
}
}

public bool IsDebugEnabled
{
get
{
return log.IsDebugEnabled;
}
}

public bool IsWarnEnabled
{
get
{
return log.IsWarnEnabled;
}
}

public bool IsErrorEnabled
{
get
{
return log.IsErrorEnabled;
}
}

public bool IsFatalEnabled
{
get
{
return log.IsFatalEnabled;
}
}
}
}

       5、在Form1.cs的构造函数中添加测试代码:

namespace LogDemo
{
public partial class Form1 : Form
{
public Form1()
{
LogHelper.Info("Info 测试");
LogHelper.Debug("Debug 测试");
LogHelper.Warn("Warn 测试");
LogHelper.Error("Error 测试");
LogHelper.Fatal("Fatal 测试");
InitializeComponent();

}
}
}

       6、运行测试,日志文件“AppLog.log”默认在..\bin\Debug\目录下(可自行修改),日志文件内容如下图所示:



       小结:

       可以对照日志文件调整App.config中输出格式。本文只是个简单示例,仅供记录下来学习参考。若想运行完整工程示例,可点此下载(免积分):C# WinForm Log4net 示例: LogDemo.rar

       参考资料:1- 一分钟学会 log4net(c#) 配置及使用; 2- Log4net入门使用;3- Log4Net使用指南;4- Log4Net使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息