在Winform中使用log4net進行日志分級可以通過配置文件來實現。首先需要在配置文件中定義日志輸出級別,然后在代碼中調用log4net來記錄日志。以下是一個示例配置文件和代碼:
配置文件(log4net.config):
<?xml version="1.0" encoding="utf-8" ?>
<log4net>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="log.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="RollingFileAppender" />
</root>
</log4net>
代碼:
using log4net;
using log4net.Config;
namespace WinformLogger
{
public partial class Form1 : Form
{
private static readonly ILog log = LogManager.GetLogger(typeof(Form1));
public Form1()
{
InitializeComponent();
XmlConfigurator.Configure(new FileInfo("log4net.config"));
}
private void button1_Click(object sender, EventArgs e)
{
log.Debug("Debug message");
log.Info("Info message");
log.Warn("Warn message");
log.Error("Error message");
log.Fatal("Fatal message");
}
}
}
在上面的代碼中,配置文件中定義了日志輸出級別為DEBUG,并且配置了一個RollingFileAppender用來將日志輸出到log.txt文件中。在代碼中,使用log.Debug、log.Info、log.Warn、log.Error和log.Fatal方法來記錄不同級別的日志。根據配置文件中的級別,只有DEBUG級別及以上的日志會被記錄到文件中。
在實際應用中,可以根據需要修改配置文件中的級別和輸出方式來實現更靈活的日志記錄。