Log4net——Appenders sql数据库日志

简介: MSSql数据库日志 建立日志记录表,这个随便了。现在提供官网示例中的数据库   CREATE TABLE [dbo].[Log] (     [Id] [int] IDENTITY (1, 1) NOT NULL,     [Date] [datetime] NOT NULL,    ...

MSSql数据库日志

建立日志记录表,这个随便了。现在提供官网示例中的数据库

 

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

)

(一)输出源设置(Appenders

<appender xmlns="" name="apenderforLog"  type="log4net.Appender.AdoNetAppender">

    <bufferSize value="100" />

    <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>

    <connectionString value="database=selfTest;server=.;initial catalog=selfTest;User ID=sa;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>

(二)说明一下

·connectionType 连接类型

·connectionString连接字符串

·commandText日志写入语句

然后提供各个参数,并为每个参数赋值

(三)测试

   mylog.Info("开始记录日志……");

   mylog.Error("用户多次登录不成功!");

   mylog.Info("日志追加结束.");

 

结果在数据库中可以看到

Id  Date    Thread              Level   Logger              Message     Exception

1   2009-12-11 09:16:44.610 TestRunnerThread    INFO    Log4netTest.UTest   开始记录日志……   

2   2009-12-11 09:16:44.657 TestRunnerThread    ERROR   Log4netTest.UTest   用户多次登录不成功!  

3   2009-12-11 09:16:44.657 TestRunnerThread    INFO    Log4netTest.UTest   日志追加结束. 

 

 

 

博客园大道至简

http://www.cnblogs.com/jams742003/

转载请注明:博客园

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
15小时前
|
SQL Oracle 关系型数据库
数据库SQL语言实战(五)(数据库系统概念第三章练习题)
本文的SQL语言适用的是Oracle数据库与mySQL可能存在略微不同
|
15小时前
|
SQL Oracle 关系型数据库
数据库SQL语言实战(三)
本篇文章重点在于SQL中的各种删除操作
|
2天前
|
SQL 数据库
SQL主体内容一致,但是对于不同的数据库,对于SQL就可能有一些细节的拓展
SQL主体内容一致,但是对于不同的数据库,对于SQL就可能有一些细节的拓展
11 1
|
2天前
|
SQL 存储 数据库连接
C#SQL Server数据库基本操作(增、删、改、查)
C#SQL Server数据库基本操作(增、删、改、查)
5 0
|
3天前
|
SQL 存储 小程序
数据库数据恢复—Sql Server数据库文件丢失的数据恢复案例
数据库数据恢复环境: 5块硬盘组建一组RAID5阵列,划分LUN供windows系统服务器使用。windows系统服务器内运行了Sql Server数据库,存储空间在操作系统层面划分了三个逻辑分区。 数据库故障: 数据库文件丢失,主要涉及3个数据库,数千张表。数据库文件丢失原因未知,不能确定丢失的数据库文件的存放位置。数据库文件丢失后,服务器仍处于开机状态,所幸未写入大量数据。
数据库数据恢复—Sql Server数据库文件丢失的数据恢复案例
|
4天前
|
SQL 数据库
SQL数据库基础语法-查询语句
SQL数据库基础语法-查询语句
|
4天前
|
SQL 存储 数据库
SQL数据库基础语法-增删改
SQL数据库基础语法-增删改
SQL数据库基础语法-增删改
|
4天前
|
存储 监控 Apache
查询提速11倍、资源节省70%,阿里云数据库内核版 Apache Doris 在网易日志和时序场景的实践
网易的灵犀办公和云信利用 Apache Doris 改进了大规模日志和时序数据处理,取代了 Elasticsearch 和 InfluxDB。Doris 实现了更低的服务器资源消耗和更高的查询性能,相比 Elasticsearch,查询速度提升至少 11 倍,存储资源节省达 70%。Doris 的列式存储、高压缩比和倒排索引等功能,优化了日志和时序数据的存储与分析,降低了存储成本并提高了查询效率。在灵犀办公和云信的实际应用中,Doris 显示出显著的性能优势,成功应对了数据增长带来的挑战。
查询提速11倍、资源节省70%,阿里云数据库内核版 Apache Doris 在网易日志和时序场景的实践
|
5天前
|
SQL 存储 数据库
SQL数据库查询优化技巧
【5月更文挑战第6天】本文介绍了7个SQL数据库查询优化技巧,包括选择合适索引、避免`SELECT *`、使用JOIN代替子查询、优化WHERE子句、使用LIMIT、分析查询计划和定期维护数据库。通过这些方法,开发者可以提升查询效率,改善系统性能。
|
SQL 数据库 数据安全/隐私保护
sql server 高可用日志传送
原文:sql server 高可用日志传送 一. 日志传送概述     SQL Server使用日志传送,可以自动将主服务器的事务日志备份发送到一个或多个辅助数据库上。可选的监视服务器,记录备份和还原操作的历史记录及状态。
975 0