log4net使用删除日志文件,保留指定数量的文件

2 篇文章 0 订阅

参考:https://blog.csdn.net/qq_42913005/article/details/108581376

1、打开visual studio 新建控制台项目 Consolelog4net

在这里插入图片描述

2、选择项目 Consolelog4net,右键,选择 管理NuGet程序包,搜索log4net,点击安装,

在这里插入图片描述

2、我们要在项目中的AssemblyInfo.cs中加一行代码:

//log4net从配置文件中读取配置
[assembly: log4net.Config.XmlConfigurator(ConfigFile = “log4net.config”, ConfigFileExtension = “config”, Watch = true)]

3、新建类log4net.config文件,内容如下

这个文件要拷到运行目录下

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
  <log4net>
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="Log\Log.txt" />
      <appendToFile value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="4" />
      <maximumFileSize value="10KB" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <!--<param name="ConversionPattern" value="%-5p %d [%c] [%l] %m%n" />-->
        <conversionPattern value="%-5level %date [%thread] - %message %newline" />
      </layout>
    </appender>
    <root>
      <level value="all" />
      <appender-ref ref="RollingLogFileAppender" />
    </root>
  </log4net>
</configuration>

4、新建类LoggerService.cs文件,内容如下

using log4net;
using System.Reflection;
using System;

namespace PublicExtendControl
{
    /// <summary>
    /// 日志服务
    /// </summary>
    public class LoggerService
    {
        #region Fields and Properties
        public static ILog Log;
        static LoggerService()
        {
            log4net.Config.XmlConfigurator.Configure();
            Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
        }

        /// <summary>
        /// 记录调试信息
        /// </summary>
        /// <param name="ex">信息</param>
        public static void Debug(object message)
        {
            Log.Debug(message.ToString());
        }

        /// <summary>
        /// 记录警告信息
        /// </summary>
        /// <param name="ex">信息</param>
        public static void Warn(object message)
        {
            Log.Warn(message);
        }

        /// <summary>
        /// 记录错误信息
        /// </summary>
        /// <param name="ex">信息</param>
        public static void Error(object message)
        {
            Log.Error(message);
        }

        /// <summary>
        /// 记录重要提示信息
        /// </summary>
        /// <param name="ex">信息</param>
        public static void Info(object message)
        {
            Log.Info(message);
        }

        /// <summary>
        /// 记录信息和异常信息
        /// </summary>
        /// <param name="message">错误信息</param>
        /// <param name="ex">异常对象</param>
        public static void Debug(object message, Exception ex)
        {
            Log.Debug(message, ex);
        }

        /// <summary>
        /// 记录信息和异常信息
        /// </summary>
        /// <param name="message">错误信息</param>
        /// <param name="ex">异常对象</param>
        public static void Warn(object message, Exception ex)
        {
            Log.Warn(message, ex);
        }

        /// <summary>
        /// 记录信息和异常信息
        /// </summary>
        /// <param name="message">错误信息</param>
        /// <param name="ex">异常对象</param>
        public static void Error(object message, Exception ex)
        {
            Log.Error(message, ex);
        }

        /// <summary>
        /// 记录信息和异常信息
        /// </summary>
        /// <param name="message">错误信息</param>
        /// <param name="ex">异常对象</param>
        public static void Info(object message, Exception ex)
        {
            Log.Info(message, ex);
        }

        #endregion
    }
}

5、Program内容如下

using System;
using System.Threading;

namespace Consolelog4net
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("测试log4net的指定日志文件");
            while (true)
            {
            	PublicExtendControl.LoggerService.Debug("test");
            }
        }
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值