C#-Winform之log4net使用详细记录

一、作用

提供一个记录日志的框架,可以将日志信息记录到文件、控制台、Windows事件日志和数据库(MSSQL、Acess、Oracle、DB2和SQLite等)。
二、操作步骤
1.在项目中添加对log4net.dll的引用(通过NuGet可以直接安装)
C#-Winform之log4net使用详细记录_第1张图片
C#-Winform之log4net使用详细记录_第2张图片
2.在工程目录下找到App.config文件,用记事本将其打开
C#-Winform之log4net使用详细记录_第3张图片
将以下代码将其替换



  
    
    

在vs中选择App.config属性,将其复制到输出目录改为如果较新则复制
C#-Winform之log4net使用详细记录_第4张图片
3.添加CS文件,CS文件中代码如下

C#-Winform之log4net使用详细记录_第5张图片

using log4net;

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = false)]
 //文件里添加下面代码,让程序启动时是找到Log4net.config配置文件
namespace ScaipMDAS
{
    public static class LogHelper
    {
        static readonly ILog _logger = LogManager.GetLogger("LogTrace");
        public static void Info(string message)
        {
            _logger.Info(message);                               //打印事件
        }

        public static void Debug(string message)
        {
            _logger.Debug(message);                             //调试
        }

        public static void Warn(string message)
        {
            _logger.Warn(message);                              //警告
        }

        public static void Error(string message)
        {
            _logger.Error(message);                             //错误
        }
    }
}

4.在窗体界面中添加按钮,并给他赋予点击事件,其中点击事件的代码如下:

   private void button1_Click(object sender, EventArgs e)
    {
        LogHelper.Info("日志打印");
        LogHelper.Debug("日志调试");
        LogHelper.Error("日志错误");
        LogHelper.Warn("日志警告");
    }

5.运行,并点击按钮,你会发现在项目的debug文件夹下出现LOG文件夹
C#-Winform之log4net使用详细记录_第6张图片
如果没有出现,修改配置文件中的语句即可:将你创建的CS文件中第三行语句改变。
C#-Winform之log4net使用详细记录_第7张图片
为什么出现这种情况呢:

XmlConfigurator可配置三个属性:
ConfigFile:配置文件的路径及文件名,包括扩展名,文件相对于程序的根目录。注意:这个属性不能和 ConfigFileExtension 属性同时使用。
ConfigFileExtension:配置文件的后缀名,缺省的文件扩展名为”config”。这个属性不能和 ConfigFile 属性同时使用。
Watch (Boolean属性): 如果为true,log4net框架在运行时监视文件。如果配置文件修改被修改了,将会重新读取。
XmlConfigurator 配置例子:假设程序名称为TestApp
// 配置 log4net 使用 .config 后缀文件
// log4net将会在程序根目录查找配置文件 TestApp.exe.config
// 文件 TestApp.exe.config 被log4net监视是否被修改,
//如果修改了TestApp.exe.config文件, log4net自动重新加载
[assembly: log4net.Config.XmlConfigurator(Watch=true)]
// 配置 log4net 使用 .log4net 后缀文件
// log4net将会在程序根目录查找配置文件 TestApp.exe.log4net
// 文件 TestApp.exe.log4net 被log4net监视是否被修改,
//如果修改了TestApp.exe.config文件, log4net自动重新加载
[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension=“log4net”,Watch=true)]
3 app.config 中的 appSettings 配置
key 为 log4net.Config 的setting 会覆盖 assembly XmlConfigurator 配置 中 ConfigFile 指定的值

key 为 log4net.Config.Watch 的setting 会覆盖 assembly XmlConfigurator 配置 中 Watch 指定的值

// 有 assembly 配置
[assembly: log4net.Config.XmlConfigurator(Watch=false)]
//上面的assemble配置使使用配置文件 “TestApp.exe.config”,并且不监视。

//下面的配置覆盖assemble配置,使用配置文件 log4net.config, 并且监视该文件
// appSettings 配置





配置错误的解释链接: https://developer.aliyun.com/article/61899

这时再运行就会成功了,点击LOG文件夹中的文件,查看日志记录
C#-Winform之log4net使用详细记录_第8张图片
可以根据你项目的程序,进行添加日志打印的记录了

自己还可以尝试添加地址,添加IP,添加注释等等等

你可能感兴趣的:(C#,Winform,窗体应用程序,c#,log4net)