目的:设计最简单的Log4Net配置和调用方式,满足一般使用需要。
实现步骤:
1.添加Log4Net到项目引用,最简单的方法:使用NuGet管理器安装。
2. 在项目中创建一个新的log4net的配置文件log4net.config。修改配置文件属性,将属性“复制到输出目录”设置为“如果较新则复制”
<?xml version="1.0" encoding="utf-8" ?>
<log4net debug="false">
<!--定义附加器 Appender -->
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<!--日志路径-->
<param name= "File" value= "log\"/>
<!--是否是向已有文件中追加-->
<param name= "AppendToFile" value= "true"/>
<!--最大滚动备份数-->
<param name= "MaxSizeRollBackups" value= "10"/>
<!--日志文件名是否是固定不变的-->
<param name= "StaticLogFileName" value= "false"/>
<!--日志文件名格式为:2008-08-31.log 注意.log左右两边的单引号-->
<param name= "DatePattern" value= "yyyy-MM-dd'.log'" />
<!--日志根据日期滚动-->
<param name= "RollingStyle" value= "Date" />
<!--指定log的格式-->
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%date] %thread -- %-5level -- %C[%M] -- %message%newline" />
</layout>
</appender>
<!-- 默认Logger配置 -->
<root>
<level value="ALL" />
<appender-ref ref="RollingFileAppender" />
</root>
</log4net>
3. 修改AssemblyInfo.cs文件,增加以下代码
//设置Log4Net
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
调用演示:
using System;
using System.Windows.Forms;
using log4net;
namespace Log4NetTest
{ //这是一个WinForm窗口程序
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
var log = LogManager.GetLogger("");
log.Info("测试Log4Net");
}
}
}
日志输出到程序所在文件夹下的log子文件夹,以当天日期为名后缀为.log的文本文件中。内容如下:
[2017-07-25 15:16:14,332] 8 -- INFO -- Log4NetTest.Form1[button1_Click] -- 测试Log4Net
从以上输出的内容可以看出,日志输出时自动记录了调用时的类名和函数名,非常实用。