配置log4net写日志到数据库

原创 Laughing  2017-08-06 01:31  阅读 90 次 评论 0 条

前一篇我们介绍了log4net写日志到文件的方法,具体可以参考。

,这一篇我们继续介绍log4net写日志到数据库的方法。

数据库创建脚本

  1. CREATE TABLE [dbo].[Log](  
  2.     [Id] [int] IDENTITY(1,1) NOT NULL,  
  3.     [Date] [datetime] NOT NULL,  
  4.     [Thread] [varchar](255) NOT NULL,  
  5.     [Level] [varchar](50) NOT NULL,  
  6.     [Logger] [varchar](255) NOT NULL,  
  7.     [Message] [varchar](4000) NOT NULL,  
  8.     [Exception] [varchar](2000) NULL  
  9. ON [PRIMARY]  

配置文件修改

我们只需要修改配置文件,设置数据库类型、数据库连接信息以及sql语句即可,其他的跟写入文件的方式是相同的

  1. <?xml version="1.0" encoding="utf-8" ?>  
  2. <configuration>  
  3.     <configSections>  
  4.         <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>  
  5.     </configSections>  
  6.     <log4net>  
  7.   
  8.         <!--定义输出到数据库中-->  
  9.         <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">  
  10.             <bufferSize value="1" />  
  11.             <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />  
  12.             <connectionString value="server=114.115.214.130;database=lisen;UID=lisen;PWD=19900629;" />  
  13.             <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />  
  14.             <parameter>  
  15.                 <parameterName value="@log_date" />  
  16.                 <dbType value="DateTime" />  
  17.                 <layout type="log4net.Layout.RawTimeStampLayout" />  
  18.             </parameter>  
  19.             <parameter>  
  20.                 <parameterName value="@thread" />  
  21.                 <dbType value="String" />  
  22.                 <size value="255" />  
  23.                 <layout type="log4net.Layout.PatternLayout">  
  24.                     <conversionPattern value="%thread" />  
  25.                 </layout>  
  26.             </parameter>  
  27.             <parameter>  
  28.                 <parameterName value="@log_level" />  
  29.                 <dbType value="String" />  
  30.                 <size value="50" />  
  31.                 <layout type="log4net.Layout.PatternLayout">  
  32.                     <conversionPattern value="%level" />  
  33.                 </layout>  
  34.             </parameter>  
  35.             <parameter>  
  36.                 <parameterName value="@logger" />  
  37.                 <dbType value="String" />  
  38.                 <size value="255" />  
  39.                 <layout type="log4net.Layout.PatternLayout">  
  40.                     <conversionPattern value="%logger" />  
  41.                 </layout>  
  42.             </parameter>  
  43.             <parameter>  
  44.                 <parameterName value="@message" />  
  45.                 <dbType value="String" />  
  46.                 <size value="4000" />  
  47.                 <layout type="log4net.Layout.PatternLayout">  
  48.                     <conversionPattern value="%message" />  
  49.                 </layout>  
  50.             </parameter>  
  51.             <parameter>  
  52.                 <parameterName value="@exception" />  
  53.                 <dbType value="String" />  
  54.                 <size value="2000" />  
  55.                 <layout type="log4net.Layout.ExceptionLayout" />  
  56.             </parameter>  
  57.         </appender>  
  58.   
  59.         <root>  
  60.             <!--OFF > FATAL > ERROR > WARN > INFO > DEBUG > ALL-->  
  61.             <level value="ALL"/>  
  62.   
  63.             <!--数据库形式记录日志-->  
  64.             <appender-ref ref="AdoNetAppender"/>  
  65.   
  66.         </root>  
  67.     </log4net>  
  68. </configuration>  
本文地址:https://www.lisen.me/configuration-log4net-write-logs-to-a-database.html
版权声明:本文为原创文章,版权归 木子网 所有,欢迎分享本文,转载请保留出处!

发表评论


表情