• c#使用log4net的3种调用方法


    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日志输出:显示调用");
            }
    运行结果:

    三种调用方法,都能够正常打印日志。

    备注:如有疑问,可留言交流。

  • 相关阅读:
    【web前端开发】HTML知识点超详细总结
    道可云元宇宙每日资讯|德国研发元宇宙虚拟战场训练平台
    SSL证书品牌参差不齐?品牌太多不知道怎么选择?
    Vue3【一】组件间的通信方式汇总
    机器学习之逻辑回归
    【板栗糖GIS】三维建模—倾斜航飞OSGB数据可以转成skp模型输出吗?
    Docker知识总结 (二) Docker 底层原理
    设计模式---装饰器模式
    redis知识总结
    第四章:模板引擎
  • 原文地址:https://blog.csdn.net/zunguitiancheng/article/details/136345064