在C#中使用log4Net实现日志功能。

1、在App.config文件中配置基本的日志信息。  

 

复制代码
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
    </startup>

    <configSections>

        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>

    </configSections>

    <log4net>

        <!--定义输出到文件中-->

        <appender name="RollingLogFileAppenderForException" type="log4net.Appender.RollingFileAppender">

            <!--定义文件存放位置-->

            <file value="C:\test\logs\"/>

            <appendToFile value="true"/>

            <rollingStyle value="Date"/>

            <datePattern value="yyyy\\yyyyMM\\yyyyMMdd'.xml'"/>

            <staticLogFileName value="false"/>

            <param name="MaxSizeRollBackups" value="100"/>

            <layout type="log4net.Layout.PatternLayout">

                <!--每条日志末尾的文字说明-->

                <!--输出格式-->

                <!--样例:2008-03-26 13:42:32,111 [10] INFO  Log4NetDemo.MainClass [(null)] - info-->

                <conversionPattern value="%newline %n记录时间:%date %n线程ID:[%thread] %n日志级别:%-5level %n错误描述:%message%newline %n"/>

            </layout>

        </appender>

        <root>

            <!--文件形式记录日志-->

            <appender-ref ref="RollingLogFileAppenderForException"/>

            <level value="ALL" />

        </root>

    </log4net>
</configuration>
复制代码

2、添加Log4Net引用  

  2-1:在管理Nuget程序包中添加Log4Net引用

 

   2-2:选中log4Net并进行安装(我的已经安装了)。

 

 

3、添加核心代码

 

复制代码
using log4net;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

[assembly: log4net.Config.XmlConfigurator(Watch = true)]
namespace log4NetUseTest
{
  /// <summary>
     /// 日志记录
     /// </summary>
     public class LogHelper
     {
         /// <summary>
         /// 日志实例
         /// </summary>
         private static ILog logInstance = LogManager.GetLogger("testApp");
 
         public static void WriteLog(string message, LogLevel level)
          {
                     switch (level)
          {
                 case LogLevel.Debug:
                     logInstance.Debug(message);
                              break;
                          case LogLevel.Error:
                  logInstance.Error(message);
                              break;
                          case LogLevel.Fatal:
                  logInstance.Fatal(message);
                              break;
                          case LogLevel.Info:
                  logInstance.Info(message);
                              break;
                          case LogLevel.Warn:
                  logInstance.Warn(message);
                              break;
                          default:
                  logInstance.Info(message);
                              break;
                      }
         }
     }

        public enum LogLevel { 

         Debug = 0,
         Error = 1,
         Fatal = 2,
         Info = 3,
         Warn = 4
        }
    
}
复制代码

 4、在程序入口处进行下测试

 

  5、日志展示

 

posted @   iCare℃  阅读(316)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示