跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
C#

C# 使用 Log4Net 配置日志

C# 项目集成 Log4Net 日志框架,通过 NuGet 安装并配置 App.config 文件。设置 RollingFileAppender 实现按日期和大小滚动归档,支持 DEBUG 到 FATAL 级别过滤。示例展示 XmlConfigurator 初始化及 LogManager 获取 Logger 方法。注意目标框架版本兼容性,建议调整为 .NET Framework 4.6.1 以避免配置报错。

氛围发布于 2022/4/18更新于 2026/4/231 浏览
C# 使用 Log4Net 配置日志

C# 使用 Log4Net 配置日志

1. 安装依赖

在 NuGet 中下载 log4net。

2. 增加 App.config 文件

具体配置如下:

  • level value="ALL":记录所有日志信息
  • file value="Log/":路径,位于 debug 目录下
  • datePattern:日期格式,每天生成一个文件,每月生成一个文件夹
<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
  </configSections>
  <!--日志配置部分-->
  <log4net>
    <root>
      <!--控制级别,由低到高: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF-->
      <!--比如定义级别为 INFO,则 INFO 级别向下的级别,比如 DEBUG 日志将不会被记录-->
      <!--如果没有定义 LEVEL 的值,则缺省为 DEBUG-->
      <level value="ALL"/>
      <appender-ref ref="RollingFileAppender"/>
    </root>
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <!--日志文件存放位置,在 debug 文件夹下的 log 文件夹下-->
      <file value="Log/" />
      <!--是否追加到文件,默认为 true,通常无需设置-->
      <appendToFile value="true"/>
      <!--这种情况下 MaxSizeRollBackups 和 maximumFileSize 的节点设置才有意义-->
      <RollingStyle value="Composite"/>
      <!--每天记录的日志文件个数,与 maximumFileSize 配合使用-->
      <MaxSizeRollBackups value="-1"/>
      <!--日期的格式,每天生成一个文件,每月会生成一个文件夹,存放当月的文件日志-->
      <datePattern value="yyyy-MM&quot;/&quot;yyyyMMdd&quot;.txt&quot;"/>
      <staticLogFileName value="false"/>
      <!--多线程时采用最小锁定-->
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
      <!--每个日志文件的大小,可用的单位:KB|MB|GB-->
      <maximumFileSize value="2MB"/>
      <!--日志格式-->
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%t]%-5p %c - %m%n"/>
      </layout>
    </appender>
  </log4net>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
  </startup>
</configuration>

**注意:**如果出现配置文件报错的话,把他的目标框架换一下,之前我是 4.8 版本,改成 4.6.1。

3. 代码引用

在使用处写入以下代码进行引用:

XmlConfigurator.Configure();
Type type = MethodBase.GetCurrentMethod().DeclaringType;
ILog m_log = LogManager.GetLogger(type);
m_log.Debug("这是一个 Debug 日志");
m_log.Info("这是一个 Info 日志");
m_log.Warn("这是一个 Warn 日志");
m_log.Error("这是一个 Error 日志");
m_log.Fatal("这是一个 Fatal 日志");

4. 效果说明

执行程序后,每一个月的日志形成一个文件夹。例如在 3 月份生成一个日志,在 4 月份生成多个日志,按月归档。

目录

  1. C# 使用 Log4Net 配置日志
  2. 1. 安装依赖
  3. 2. 增加 App.config 文件
  4. 3. 代码引用
  5. 4. 效果说明
  • 💰 8折买阿里云服务器限时8折了解详情
  • 💰 8折买阿里云服务器限时8折购买
  • 🦞 5分钟部署阿里云小龙虾了解详情
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog

更多推荐文章

查看全部
  • Java 企业人事工资管理系统设计与实现
  • Linux LVM 磁盘管理工具详解:物理卷、卷组与逻辑卷操作
  • 软件设计各个模块分析
  • 交换瓶子问题 Java 最小交换次数解法
  • Java Cookie 技术原理与应用
  • CopyOnWriteArrayList 源码解析
  • Python 学习后如何找工作及就业方向分析
  • Windows 环境下如何将本地代码推送到 Git 远程仓库
  • Vue 中使用 Less 样式预处理
  • 大语言模型框架-Megatron-LM 源码分析
  • CSS 子元素选择器
  • Webpack Loader 一览表
  • ThinkPHP 5.1 环境安装与配置指南
  • Ubuntu SSH 服务安装与配置详解
  • 云原生容器技术入门:Docker 与 K8s 基本原理及用途
  • CSS 常用标签与属性详解
  • WebLogic MIB 与 AdventNet MIB Browser 工具使用指南
  • Python 数据结构与算法:搜索算法
  • Java hashCode 方法的作用与重写规范
  • EOS 单向 N 对 1 关联配置与查询机制

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online