添加方式1
(1)、在App.Config 添加代码如下:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
</configSections>
<log4net debug="true">
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="Log\applicationLog.log" />
file可以指定具体的路径 eg : d:\\test.log。不指定的话log被生成在项目的bin/Debug 或者 bin/Release目录下 (web的项目 默认生成在根目录下)
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
备份log文件的个数最多10个
<maximumFileSize value="2MB" />
每个log文件最大是2M,如果超过2M将重新创建一个新的log文件,并将原来的log文件备份。
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
指定log的格式
<conversionPattern value="[%date] -- %-5level -- %logger -- %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
指定将此级别及以上的log打印到log文件中
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>
</configuration>
(2)增加一个 LogHelper类
[assembly: log4net.Config.XmlConfigurator(Watch = true)] //不能少
namespace LogTest
{
public class LogHelper
{
/// <summary>
/// 输出日志到Log4Net
/// </summary>
/// <param name="t"></param>
/// <param name="ex"></param>
public static void WirteLog(Type t,Exception ex)
{
log4net.ILog log = log4net.LogManager.GetLogger(t);
log.Error(ex);
}
public static void WriteLog(Type t, string mesage)
{
log4net.ILog log = log4net.LogManager.GetLogger(t);
log.Info(mesage);
}
(3)在其他类中调用
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void btnTest_Click(object sender, RoutedEventArgs e)
{
LogHelper.WriteLog(typeof(MainWindow), "日志写入测试");
}
}
方法2:将日志的格式写在自己命名的文件命中。如log4net.xml
(1)、在AssemblyInfo.cs文件中添加如下代码
//日志系统 配置文件
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "config/log4net.xml", Watch = true)] //ConfigFile 为日志配置文件目录
(2)、增加一个LogHelper类,如方法1一样,不过要去掉:
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
(3)、如方法一的步骤3一样,调用生成测试日志