NHibernate配置记录SQL

日志位置

由于NProfile不可以使用了,无法直观的看到sql 很是蛋疼,

现需要配置NHibernate及Log4Net完成记录sql的工作

如下,Error文件夹及NHibernate文件夹是公司架构师配置的原有文件,本次升级的是增加了NHibernateSQL文件夹

Logs\Error

Logs\NHibernate

Logs\NHibernateSQL

 

具体配置

如下图所示log4Net的配置,测试环境vs2017  log4net版本  log4net for .netFramework4.0

  <log4net>
    <appender name="ErrorLogAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Logs/Error/" />
      <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
      <param name="AppendToFile" value="true" />
      <param name="RollingStyle" value="Date" />
      <param name="StaticLogFileName" value="false" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
      </layout>
    </appender>
    <appender name="HibernateLog" type="log4net.Appender.RollingFileAppender">
      <file value="logs/NHibernate/log.txt" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <datePattern value="yyyyMMdd" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      </layout>
    </appender>
    <appender name="RollingLogFileAppender" type="log4Net.Appender.RollingFileAppender">
      <file value="logs/NHibernateSQL/log.txt" /><appendToFile value="true" />
      <rollingStyle value="Date" />
      <datePattern value="yyyyMMdd" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      </layout>
    </appender>
    <logger name="ErrorLog">
      <level value="ALL" />
      <appender-ref ref="ErrorLogAppender" />
    </logger>
    <logger name="NHibernate">
      <level value="ALL" />
      <appender-ref ref="HibernateLog" />
    </logger>
    <!--配置显示sql 与下面的log4Net配合使用-->
    <logger name="NHibernate.SQL">
      <level value="ALL"></level>
      <appender-ref ref="RollingLogFileAppender"></appender-ref>
    </logger>
  </log4net>
  

无关配置

      <property name="show_sql">true</property>

Global.asax.cs 
            //log4net初始化
            log4net.Config.XmlConfigurator.Configure();

 

 

sql样例解读

SELECT org0_.Id            as Id6_0_,

       org0_.Name          as Name6_0_,

       org0_.ParentId      as ParentId6_0_,

       org0_.Branch        as Branch6_0_,

       org0_.LinkMan       as LinkMan6_0_,

       org0_.LinkTel       as LinkTel6_0_,

       org0_.CreateTime    as CreateTime6_0_,

       org0_.CreateUserId  as CreateUs8_6_0_,

       org0_.OrgUnitTypeId as OrgUnitT9_6_0_,

       org0_.IsDefault     as IsDefault6_0_,

       org0_.UnitCode      as UnitCode6_0_,

       org0_.ParentCode    as ParentCode6_0_,

       org0_.CrmId         as CrmId6_0_,

       org0_.Address       as Address6_0_

  FROM test_org org0_

  where :p0 = 1          --==>  WHERE 1 = 1

  and org0_.Id = :p1;    --==>  and org0_.Id = 3;

:p0 = True [ Type :Boolean(0) ],     --  表示:p0==1  ,True是Boolean 类型

:p1 = 3 [ Type :Int32(0) ]          --  表示:p1==3  ,将sql中的:p1用3替换

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值