log4net 写日志到 Sql server 数据库

转载 2016年08月31日 16:27:37

1  新建数据库表MyLog ,脚本为

CREATE TABLE [dbo].[Log](
    [Id] [int] IDENTITY(1,1) NOT NULL,
    [Date] [datetime] NOT NULL,
    [Thread] [varchar](255) NOT NULL,
    [Level] [varchar](50) NOT NULL,
    [Logger] [varchar](255) NOT NULL,
    [Message] [varchar](4000) NOT NULL,
    [Exception] [varchar](2000) NULL
) ON [PRIMARY]


 2 在项目AssemblyInfo.cs文件里新增一行

[assembly: log4net.Config.XmlConfiguratorAttribute(Watch = true)]


在项目config文件里新增如下节

 

<configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
     <log4net debug="false">
       <appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
        <param name="File" value="c:\Log\DBLog.txt" />
        <param name="AppendToFile" value="true" />
        <layout type="log4net.Layout.PatternLayout">
          <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
        </layout>
      </appender>
    
    <appender name="ADONetAppender" type="log4net.Appender.ADONetAppender">
      <bufferSize value="10"/>
      <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
      <connectionString value="server=192.168.1.100;database=ZYC;user id=sa;password=password"/>
      <commandText value="INSERT INTO Log ([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>
         <level value="DEBUG" />
         <appender-ref ref="ADONetAppender" />
       </root>

其中

        <root>

         <level value="DEBUG" />

         <appender-ref ref="ADONetAppender" />

       </root>


节的appender-ref ADONetAppender,对应上面的配置是连接到数据库,俱体内容看config文件就可以知道连接串,及对应数据库表信息参数

 

测试代码为

 private static readonly log4net.ILog log = log4net.LogManager.GetLogger(typeof(MyLog));

      public static void LogInfo()

        {

            log.Info("log日¨?志?");

        }


    至此log信息就新增到数据库了

 

注意事项 

       引用log4net.dll

       引用System.Data.dll

相关文章推荐

Log4net 写文件日志与数据库日志

一、数据库日志表结构 CREATE TABLE [dbo].[WebLog_Msg]( [LogID] [int] IDENTITY(1,1) NOT NULL, [Date] [datet...

使用log4net完成程序异常日志记录(使用SQLite数据库记录和普通文本记录)

在前端时间开发的时候由于需要将异常保存到数据库中,所以就到网上搜了下专门的日志记录工具,一搜果然很多,比如:log4net,NLog,EntLib Logging等等,但是还是log4net名气最大,...
  • e_wsq
  • e_wsq
  • 2012年02月25日 23:45
  • 498

log4net保存日志到MySql数据库

  • 2015年04月24日 13:46
  • 817KB
  • 下载

log4net 数据库日志

  • 2017年08月26日 18:56
  • 5.24MB
  • 下载

Log4Net(三)之记录日志到数据库

原创文章,转载必需注明出处:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/log4net-%E4%B8%89-%E4%B9%8B%...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:log4net 写日志到 Sql server 数据库
举报原因:
原因补充:

(最多只允许输入30个字)