首页 > 数据库 >.Net6 使用log4net将日志写入SqlServer

.Net6 使用log4net将日志写入SqlServer

时间:2023-03-06 21:00:17浏览次数:59  
标签:log4net 写入 数据库 SqlServer Net6 日志

第一步:引用Nuget包
System.Data.SqlClient
第二步:修改log4net.config配置文件 增加appender节点 注意,要将日志写入数据库需先创建数据库与日志表用于存放日志,不然日志有了,没地方放啊!!!
        <!--SqlServer形式-->
        <!--log4net日志配置:http://logging.apache.org/log4net/release/config-examples.html -->
        <appender name="AdoNetAppender_SqlServer" type="log4net.Appender.AdoNetAppender">
            <!--日志缓存写入条数 设置为0时只要有一条就立刻写到数据库-->
            <bufferSize value="0" />
            <connectionType value="System.Data.SqlClient.SqlConnection,System.Data.SqlClient, Version=4.6.1.3, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
            <connectionString value="数据库连接字符串" />
            <commandText value="INSERT INTO Log4Net ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />
            <parameter>
                <parameterName value="@log_date" />
                <dbType value="DateTime" />
                <layout type="log4net.Layout.RawTimeStampLayout" />
            </parameter>
            <parameter>
                <parameterName value="@thread" />
                <dbType value="String" />
                <size value="255" />
                <layout type="log4net.Layout.PatternLayout">
                    <conversionPattern value="%thread" />
                </layout>
            </parameter>
            <parameter>
                <parameterName value="@log_level" />
                <dbType value="String" />
                <size value="50" />
                <layout type="log4net.Layout.PatternLayout">
                    <conversionPattern value="%level" />
                </layout>
            </parameter>
            <parameter>
                <parameterName value="@logger" />
                <dbType value="String" />
                <size value="255" />
                <layout type="log4net.Layout.PatternLayout">
                    <conversionPattern value="%logger" />
                </layout>
            </parameter>
            <parameter>
                <parameterName value="@message" />
                <dbType value="String" />
                <size value="4000" />
                <layout type="log4net.Layout.PatternLayout">
                    <conversionPattern value="%message" />
                </layout>
            </parameter>
            <parameter>
                <parameterName value="@exception" />
                <dbType value="String" />
                <size value="2000" />
                <layout type="log4net.Layout.ExceptionLayout" />
            </parameter>
        </appender>

修改root 节点


<root>

<!--控制级别,由低到高: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF-->
<!--OFF:0-->
<!--FATAL:FATAL-->
<!--ERROR: ERROR,FATAL-->
<!--WARN: WARN,ERROR,FATAL-->
<!--INFO: INFO,WARN,ERROR,FATAL-->
<!--DEBUG: INFO,WARN,ERROR,FATAL-->
<!--ALL: DEBUG,INFO,WARN,ERROR,FATAL-->
<priority value="ALL"/>

<level value="INFO"/>
<appender-ref ref="rollingAppender" />
<appender-ref ref="AdoNetAppender_SqlServer" />
</root>

第三步:让程序跑起来,然后去数据库查看日志是否写入

 

标签:log4net,写入,数据库,SqlServer,Net6,日志
From: https://www.cnblogs.com/YZQDXMN/p/17185429.html

相关文章