Log4net.config

复制代码
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <log4net>
    <!--日志保存到文件里面 txt-->
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <param name="lockingModel" type="log4net.Appender.FileAppender+MinimalLock"/>
      <!--日志路径 网站根目录下面的logs-->
      <param name= "File" value= "ZoveLog\\"/>
      <!--是否是向文件中追加日志-->
      <param name= "AppendToFile" value= "true"/>
      <!--保证在日志分割时,新日志的序号会添加在后缀名之前-->
      <param name="preserveLogFileNameExtension" value="true"/>
      <!--定义文件最大个数,超过按顺序删除-->
      <param name="MaxSizeRollBackups" value="-1"/>
      <!--日志文件名是否是固定不变的-->
      <param name= "StaticLogFileName" value= "false"/>
      <!--日志文件名称及保存位置-->
      <param name= "DatePattern" value= "yyyyMMdd&quot;.log&quot;"/>
      <!--每个日志文件的最大大小-->
      <maximumFileSize value="5MB"/>
      <!--日志格式-->
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%newline%newline【日志时间】:%d  【线程ID】:%thread    %newline【日志级别】:%-5p  %newline【日志对象】:%logger  %newline【日志内容】:%m" />
      </layout>
    </appender>
    <root>
      <!--配置可输出日志级别-->
      <level value="all"/>
      <!--应用配置-->
      <appender-ref ref="RollingLogFileAppender"/>
    </root>
  </log4net>
</configuration>
复制代码
复制代码
    /// <summary>
    /// Log4Net日志记录辅助类
    /// </summary>
    public class LogHelper
    {
        private static readonly ILog Log; 
         
        static LogHelper()
        { 
            XmlConfigurator.ConfigureAndWatch(new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "Log4net.config"));
            Log = LogManager.GetLogger(typeof(LogHelper));
        }
        /// <summary>
        /// 记录调试信息
        /// </summary>
        /// <param name="message">信息</param>
        public static void Debug(object message)
        {
            Log.Debug(message);
        }

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

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

        /// <summary>
        /// 记录重要提示信息
        /// </summary>
        /// <param name="message">信息</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);
        }
    } 
复制代码

 

posted @   兴趣就是天赋  阅读(668)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示