.Net6 Web Core API --- AOP -- log4net 封装 -- MySQL -- txt

这篇博客详细介绍了如何在.Net6 Web Core API项目中使用AOP和log4net进行日志记录。首先通过NuGet包引入log4net、Microsoft.Extensions.Logging.Log4Net.AspNetCore以及MySQL相关的依赖。接着配置log4net.config,并编写Log4net封装类和日志记录类。然后,利用Autofac实现AOP拦截器的封装。在案例部分,创建了Student和IStudent接口及控制器进行测试。最后展示了运行结果。

目录

一、引入 NuGet 包

二、配置log4net.config  

三、编写Log4net封装类

四、编写日志记录类

五、AOP -- 拦截器 -- 封装

六、案例编写

七、结果展示


一、引入 NuGet 包

log4net 

Microsoft.Extensions.Logging.Log4Net.AspNetCore   

MySql.Data         ----  MySQL数据库需要

Newtonsoft.Json

Autofac

Autofac.Extensions.DependencyInjection

Autofac.Extras.DynamicProxy

二、配置log4net.config  

    注:当前网上有两种 log4net.config 配置文件, 一种是以<log4net>为根目录, 另一种以<configuration> 为根目录

<?xml version="1.0" encoding="utf-8"?>

<log4net>
    <!--正常日志:::记录正常日志-->
    <!-- appender 定义日志输出方式   将日志以回滚文件的形式写到MySQL数据库中。-->
    <appender name="ADONetAppender" type="log4net.Appender.ADONetAppender">
        <!-- 代表缓存大小,在没达到缓存大小时,暂时不会存到数据库中, -->
        <!-- 当程序关闭之后,会将未插入的信息加入到数据库中 -->
        <bufferSize value="1" />

        <!--引入《MySql.Data》包-->
        <param name="ConnectionType" value="MySql.Data.MySqlClient.MySqlConnection, MySql.Data" />
        <!--配置连接数据库的字符串-->
        <param name="ConnectionString" value="server=localhost;database=TTTTT;uid=root;pwd=123456;"/>
        <!--配置MySQL的插入语句-->
        <param name="CommandText" value="insert into log4net(log_datetime,log_thread,log_level,log_logger,log_message) 
                                         values(@log_datetime, @log_thread , @log_level, @log_logger, @log_message)" />

        <param name="Parameter">
            <param name="ParameterName" value="@log_datetime" />
            <param name="DbType" value="DateTime" />
            <param name="Layout" type="log4net.Layout.PatternLayout">
                <param name="ConversionPattern" value="%d{yyyy'-'MM'-'dd HH':'mm':'ss}" />
            </param>
        </param>

        <param name="Parameter">
            <param name="ParameterName" value="@log_thread" />
            <param name="DbType" value="String" />
            <param name="Size" value="255" />
            <param name="Layout" type="log4net.Layout.PatternLayout">
                <param name="ConversionPattern" value="%t" />
            </param>
        </param>

        <param name="Parameter">
            <param name="ParameterName" value="@log_level" />
            <param name="DbType" value="String" />
            <param name="Size" value="255" />
            <param name="Layout" type="log4net.Layout.PatternLayout">
                <param name="ConversionPattern" value="%p" />
            </param>
        </param>

        <param name="Parameter">
            <param name="ParameterName" value="@log_logger" />
            <param name="DbType" value="String" />
            <param name="Size" value="255" />
            <param name="Layout" type="log4net.Layout.PatternLayout">
                <param name="ConversionPattern" value="%c" />
            </param>
        </param>

        <param name="Parameter">
            <param name="ParameterName" value="@log_message" />
            <param name="DbType" value="String" />
            <param name="Size" value="4000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值