美文网首页
log4net写入数据库

log4net写入数据库

作者: 高调的小丑 | 来源:发表于2018-12-06 15:33 被阅读14次

其他部分和log4net使用的一样,这边贴出ADONetAppender的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="data source=.;initial catalog=LogSystem;integratedsecurity=false;persist security info=True;User ID=sa;Password=sa" />
  <commandText value="INSERT INTO ErrorLog ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@date, @thread, @level, @logger, @message, @exception)" />
      
  <parameter>
    <parameterName value="@date" />
    <dbType value="DateTime" />
    <layout type="log4net.Layout.RawTimeStampLayout" />
  </parameter>
  <parameter>
    <parameterName value="@thread" />
    <dbType value="String" />
    <size value="100" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%t" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@level" />
    <dbType value="String" />
    <size value="200" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%p" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@logger" />
    <dbType value="String" />
    <size value="500" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%logger" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@message" />
    <dbType value="String" />
    <size value="3000" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%m" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@exception" />
    <dbType value="String" />
    <size value="4000" />
    <layout type="log4net.Layout.ExceptionLayout" />
  </parameter>
</appender>

在对应的数据库中创建表

CREATE TABLE [dbo].[ErrorLog](   
[Id] [bigint] IDENTITY(1,1) NOT NULL,   
[Date] [datetime] NOT NULL,   
[Thread] [nvarchar](100) NOT NULL,   
[Level] [nvarchar](200) NOT NULL,   
[Logger] [nvarchar](500) NOT NULL,   
[Message] [nvarchar](3000) NOT NULL,   
[Exception] [nvarchar](4000) NULL)
static void Main(string[] args)
{
    log4net.ILog log=log4net.LogManager.GetLogger("testApp.Logging");//获取一个日志记录器 
    
    string assemblyFilePath = Assembly.GetExecutingAssembly().Location;
    string assemblyDirPath = Path.GetDirectoryName(assemblyFilePath);
    DirectoryInfo pathInfo = new DirectoryInfo(assemblyDirPath);
    string configFilePath = pathInfo.Parent.Parent.FullName + "//log4net.config";
    Console.WriteLine(configFilePath);
    log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(configFilePath));
    
    log.Debug("开始调试");
    log.Info("这是一个消息");
    log.Warn("这是一个警告");
    log.Error("Error", new Exception("这是一个异常"));
    
    Console.ReadKey();
}

运行之后结果


查询结果.png

参考文章:
https://www.cnblogs.com/daretodream/p/3509027.html

相关文章

  • log4net 写入数据库时需注意logger的additivi

    1、在使用Log4net的过程中,发生了日志记入txt文档,但不写入数据库的问题。 经排查,发现,logger 在...

  • log4net写入数据库

    其他部分和log4net使用的一样,这边贴出ADONetAppender的appender节 在对应的数据库中创建...

  • Mysql数据库的写入

    Mysql数据库的写入 异步写入数据库的异步写入操作。因为execute()及commit()提交数据库的方式是同...

  • log4net使用

    这边先介绍简单的使用:在控制台输出和写入文件 首先添加log4net的nuget包 然后在app.config中添...

  • log4net.dll异常信息没有写入日志问题

    log4net的具体作用与使用方法不做介绍,网上都可以搜到。本文主要记录,异常信息或者程序运行没有写入日志的问题。...

  • Pandas

    Documentation 写入数据库

  • pandas写入数据库不支持NaN

    引用地址:http://www.huochai.mobi/p/d/6669256/ 支持写入数据库 往数据库中写入...

  • Python3 写入Oracle数据库

    pandas 自带了 to_sql 方法, 可以将数据集写入数据库. 写入 Oracle 数据库时, 使用 cx_...

  • 2018-08-07

    Log4Net 配置 Log4Net的分文件配置范例

  • PHPExcel读写操作摘录

    //PHPExcel写入数据,输出到浏览器 // //PHPExcel从数据库读取数据,写入到excel文件,写入...

网友评论

      本文标题:log4net写入数据库

      本文链接:https://www.haomeiwen.com/subject/ymeocqtx.html