https://blog.csdn.net/summer_top/article/details/107961245
第一步:下载log4net。
右键项目引用,进入管理NuGet包。
搜索log4net,下载安装。
第二步:创建LogHelper类。
public class LogHelper
{
private LogHelper()
{
}
public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");
public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror");
public static void SetConfig()
{
log4net.Config.XmlConfigurator.Configure();
}
public static void SetConfig(FileInfo configFile)
{
log4net.Config.XmlConfigurator.Configure(configFile);
}
public static void WriteLog(string info)
{
if (loginfo.IsInfoEnabled)
{
loginfo.Info(info);
}
}
public static void WriteLog(string info, Exception se)
{
if (logerror.IsErrorEnabled)
{
logerror.Error(info, se);
}
}
}
第三步:配置Log4Net并输出日志,下面介绍三种调用方法。
方法一:在已有App.config中配置Log4Net。
App.config代码如下。
在项目的 AssemblyInfo.cs 文件中注册Config文件
[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = "config", Watch = true)]
主程序调用:
public MainWindow()
{
InitializeComponent();
LogHelper.WriteLog("我是LogHelper日志输出:在已有App.config中配置Log4Net");
}
运行结果:
方法二:项目中创建新的log4net.config文件。
首先右键项目,添加新建项,添加新的应用程序配置文件log4net.config,log4net配置信息和方法一相同。
log4net.config代码如下:
再设置log4net.config的属性:将 “复制到输出目录” 的值改为 如果较新则复制。
然后在项目的 AssemblyInfo.cs 文件中注册Config文件:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]
ConfigFile: 配置文件名和路径,包括扩展名,文件相对于程序的根目录。
ConfigFileExtension:配置文件的后缀名,缺省默认时'config',此属性不可和ConfigFile属性公用。
最后主程序调用:
public MainWindow()
{
InitializeComponent();
LogHelper.WriteLog("我是LogHelper日志输出:在项目中创建新的log4net.config文件");
}
运行结果:
方法三:显示调用配置文件
首先创建log4net.xml配置文件,代码如下。
使用LogHelper类中SetConfig(FileInfo configFile)方法配置log4net。 log4net.Config.XmlConfigurator.Configure(FileInfo(path)),path为log4net.xml的全路径。
主程序调用:
public MainWindow()
{
InitializeComponent();
LogHelper.SetConfig(new FileInfo("D:\\Log4NetDemo\\log4net.xml"));
LogHelper.WriteLog("我是LogHelper日志输出:显示调用");
}
运行结果:
三种调用方法,都能够正常打印日志。
备注:如有疑问,可留言交流。