Log4net 自定义字段到数据库

今天要求做个log4net自定义字段到数据库,在网上找了好多例子,都运行不成功。最后找了个国外的,很简单的就解决了。

log4net它已经定义的字段有

 <commandText value="INSERT INTO xiao_log(Date,Thread,Level,Logger,Message)VALUES(@log_date, @thread, @log_level, @logger, @message)"/>

中的Date,Thread,Level,Logger,Message这个5个。
现在自定义2个字段

 <commandText value="INSERT INTO xiao_log(Date,Thread,Level,Logger,Message,UserId,UserName)VALUES(@log_date, @thread, @log_level, @logger, @message,@userid,@username)"/>
自定义字段参数声明和原有参数声明的区别
<--原有字段-->
      <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="@userid"/>
        <dbType value="String" />
        <size value="255" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%property{userid}" />
        </layout>
      </parameter>
      <parameter>
        <parameterName value="@username"/>
        <dbType value="String" />
        <size value="255" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%property{username}" />
        </layout>
      </parameter>
最后加上这两句话,把参数替换掉就好了

        log4net.GlobalContext.Properties["userid"] = "23";
                log4net.GlobalContext.Properties["username"] = "dongsheng";
                Log.Info(ex,"23434");
时间: 2024-10-28 11:43:27

Log4net 自定义字段到数据库的相关文章

Log4net 自定义字段到数据库(二)

这种方法比第一种方法麻烦些 Log4Net.config <?xml version="1.0" encoding="utf-8" ?> <configuration> <!-- Author:GaoBingBing--> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfiguratio

关于log4net自定义字段写入不进数据库的问题

网上的教程上配置文件基本上都差不多 <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> </startup> <configSections> <section name="log4net" type="log4net.Config.Lo

Log4Net 自定义字段记录到数据库

大家可能都用过Log4net插件来记录日志,该插件默认提供了这几个字段@log_date,@exception, @thread, @log_level, @logger, @message, 但是这并不能完全满足我们日常记录日志的需求,我们可能需要扩展自己所需的其他字段,来记录到数据库.例如,对于用户操作日志,我们可能需要记录操作人员ID或者姓名,或者操作类型或者操作信息等. 下面简单地介绍一下Log4Net 自定义字段记录到数据库: 第一步,当然是创建对应的数据库日志表,如下图所示: 第二步

Log4net 自定义字段 写入Oracle 使用ODP.NET Managed驱动

一.环境说明: 开发工具:vs2010   ,数据库:oracle 11g ,版本:log4net的目前最新版本1.2.13.0    :  Oracle.ManagedDataAccess.dll  Version 4.121.1.0 二.官网dll准备 log4net      http://mirrors.hust.edu.cn/apache//logging/log4net/binaries/log4net-1.2.13-bin-newkey.zip Oracle.ManagedData

Log4net保存自定义信息到数据库

概述 Log4net将自身定义信息保存到文本文件和数据库的操作很简单,但是,这些信息有时不符合我们的要求,例如:我想多一些属性值,此时就不不行了. 实现 1.下载log4net,添加log4net引用. 2.创建数据库 <span style="font-size:18px;">create talbe MyLogTable ( id int primary key identity(1,1), userid varchar(32), username varchar(32

Log4net 使用之 自定义字段

Log4net 是.Net下一个非常优秀的开源日志记录组件.Log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介. 由于业务需要,计划为日志增加2个字段,除了Log4net默认字段,额外增加了LOG_TYPE 和 LOG_OPERATOR 两个字段用于对日志分类和记录相关操作的人员,以便于检索. 本文方法参考了StackOverFlow问答中的内容(https://stackoverflow.com/questions/12139486/log4net-

Linq多表链接分页,Select new{&quot;需要的字段列..&quot;},配合杨涛Mvcpager,前台遍历展示自定义字段

题前:,Select new{"需要的字段列.."}好处,减少不必要数据的查询,尤其是分布式的时候,网络再不好的情况下,而不必要的数据又很多,Select new{"需要的字段列.."}好处明显 如题,Linq多表链接分页,Select new{"需要的字段列.."},配合杨涛Mvcpager,前台遍历展示自定义字段 (1)  我的例子是,(Tb_Mnager)管理员表与(Tb_Role)角色表联查,返回两个表部分字段的组合 如下控制器代码: p

DEDECMS栏目自定义字段添加

用到的文件: catalog_add.htm  路径:\dede\templets\ catalog_edit.htm  路径:\dede\templets\  catalog_add.php  路径:\dede\ catalog_edit.php  路径:\dede\ 1.打开数据库找到:dede_arctype表,在表的最后面添加上我们自定义的字段名称: 首先打开catalog_add.htm文件在找到一个你认为不错的地方添加我们自定义栏目的编辑框,比如下面这是我自己添加的地方(添加在了 栏

Log4Net记录日志到SQLServer数据库

Log4Net配置步骤: 1.在项目中添加Log4Net引用,可在nuget包工具中下载 2.在项目中添加Log4Net.config文件并配置 <?xml version="1.0"?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,