Logo

Logo

log4net-mvc中引用log4net

Pastore Antonio
Pastore Antonio 2022年05月19日
1100 阅读 0 评论 约 3884 字 阅读约 8 分钟

引用包

点击需要添加log4net项目,在线下载安装包,如下:

在管理器中输入log4net下载一个合适的安装包,不要下载最大的,如下:

安装完成之后就完成了安装,然后下面就开始配置了。

配置

整个项目有如下几个地方需要配置:
1:web.config
2:AssemblyInfo.cs
3:Global.asax

首先先配置web.config

在如下节点中增加如下信息:

代码如下:

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

注意,也有人插入如下代码:

<section name="log4net" type="System.Configuration.IgnoreSectionHandler" />

但是这种代码本地看起来生效,但是跑到服务器上是不生效的。

然后在configuration节点最后面添加如下脚本:

<log4net>
    <!--错误日志:::记录错误日志-->
    <!--按日期分割日志文件 一天一个-->
    <!-- appender 定义日志输出方式   将日志以回滚文件的形式写到文件中。-->
    <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
      <!--保存路径:下面路径项目启动的时候自动在C盘中创建log、logError文件-->
      <file value="log\error\"/>
      <param name="Encoding" value="utf-8" />
      <!-- 如果想在本项目中添加路径,那就直接去掉C:\\  只设置log\\LogError   项目启动中默认创建文件 -->
      <appendToFile value="true"/>
      <!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])-->
      <rollingStyle value="Date"/>
      <!--这是按日期产生文件夹-->
      <datePattern value="yyyyMMddHH'.txt'"/>
      <!--是否只写到一个文件中-->
      <staticLogFileName value="false"/>
      <!--保留的log文件数量 超过此数量后 自动删除之前的   好像只有在 按Size分割时有效 设定值value="-1"为不限文件数-->
      <param name="MaxSizeRollBackups" value="100"/>
      <!--每个文件的大小。只在混合方式与文件大小方式下使用。超出大小后在所有文件名后自动增加正整数重新命名,数字最大的最早写入。可用的单位:KB|MB|GB。不要使用小数,否则会一直写入当前日志-->
      <maximumFileSize value="1GB" />
      <!-- layout 控制Appender的输出格式,也可以是xml  一个Appender只能是一个layout-->
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
      </layout>
    </appender>
    <appender name="logAppender" type="log4net.Appender.RollingFileAppender">
      <!--保存路径:下面路径项目启动的时候自动在C盘中创建log、logError文件-->
      <file value="log\info\"/>
      <!-- 如果想在本项目中添加路径,那就直接去掉C:\\  只设置log\\LogError   项目启动中默认创建文件 -->
      <appendToFile value="true"/>
      <param name="Encoding" value="utf-8" />
      <!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])-->
      <rollingStyle value="Date"/>
      <!--这是按日期产生文件夹-->
      <datePattern value="yyyyMMddHH'.txt'"/>
      <!--是否只写到一个文件中-->
      <staticLogFileName value="false"/>
      <!--保留的log文件数量 超过此数量后 自动删除之前的   好像只有在 按Size分割时有效 设定值value="-1"为不限文件数-->
      <param name="MaxSizeRollBackups" value="100"/>
      <!--每个文件的大小。只在混合方式与文件大小方式下使用。超出大小后在所有文件名后自动增加正整数重新命名,数字最大的最早写入。可用的单位:KB|MB|GB。不要使用小数,否则会一直写入当前日志-->
      <maximumFileSize value="1GB" />
      <!-- layout 控制Appender的输出格式,也可以是xml  一个Appender只能是一个layout-->
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
      </layout>
    </appender>
    <!--Error日志::: 错误日志-->
    <logger name="errror">
      <appender-ref ref="ErrorAppender" />
    </logger>
    <logger name="info">
      <appender-ref ref="logAppender" />
    </logger>
  </log4net>

这段代码的具体含义,如果想详细了解的可自行去查log4net的官方文档。

然后就是配置:AssemblyInfo.cs文件,在这个文件中插入一句话就行:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "web.config", Watch = true)]

如下:

最后面就是Global.asax文件,添加如下代码:

 log4net.Config.XmlConfigurator.Configure();

这样就配置完成了。最后就是运用。

在项目中新建一个如下类:

public class LogHelper
    {
        public static void Info(string txt)
        {
            ILog log = LogManager.GetLogger("info");
            log.Info(txt);

        }
        public static void error(string txt)
        {
            ILog log = LogManager.GetLogger("errror");
            log.Error(txt);

        }
    }

然后在需要用到的地方如下使用就行了:

LogHelper.Info("日志记录");
查看完整代码

橙子主题打折出售

其实我不卖,主要是这里是放广告的,所以就放了一个
毕竟主题都没做完,卖了也是坑.

购买它

附件下载

共 5 个文件
2022051919374625
PNG 98.9 KB
2022051919384423
PNG 94.4 KB
2022051919412873
PNG 102.5 KB
2022051919465981
PNG 121.3 KB
2022051919473058
PNG 59.6 KB
部分文章可能存在转载,如果涉及到侵权,请联系删除文章。

留言板

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

6 - 4 = ?

探索AIGC相关的精彩内容,共 15 篇文章

Azure AI 服务之语音识别

简介 Azure AI 服务中的语音识别 API 是微软提供的一项先进技术,旨在帮助开发者轻松实现语 ... log4net-mvc中引用log4net

2026-02-17 · Xzavier Aaron
MCP | 一文详解什么是 MCP以及 MCP 可以做什么

一、什么是 MCP MCP(Model Context Protocol)是一个专为大型语言模型(L ... log4net-mvc中引用log4net

2026-02-14 · Shen, Luke
你的工作流程,值得一个“全自动数字分身”:录制、截图、成文,一气呵成

一、一句话认识 TestFlow Recorder 在数字化工作环境中,如何准确记录操作步骤并生成清 ... log4net-mvc中引用log4net

2026-02-14 · Xzavier Aaron
Flowise 前端框架配置指南

用户需求 问题:有没有适合配置 Flowise 的前端框架? 目标:寻找类似 Open WebUI ... log4net-mvc中引用log4net

2026-02-14 · Xzavier Aaron