Mybatis for .net 的日志输出

2020-12-13 02:02

阅读:358

标签:style   blog   class   code   java   tar   

目前mybatis for .net 可以支持对外的日志输出包括SQL语句和参数等信息,用于调试,目前支持的输出方式有三种

具体的mybatis的引用和使用方式不再本文的讨论范围

1.命令窗口的输出

命令窗口的输出比较乱,因为限于窗口的大小,SQL比较长的时候显示就比较乱了,具体的实现方式,是添加config文件,app.config或者web.config

第一步:添加应用程序配置文件

第二步:在configuration节点下添加如下节点

soscw.com,搜素材
  "iBATIS">
      
"logging" type="IBatisNet.Common.Logging.ConfigurationSectionHandler, IBatisNet.Common" />
"log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
"IBatisNet.Common.Logging.Impl.ConsoleOutLoggerFA, IBatisNet.Common"> "showLogName" value="true" /> "showDataTime" value="true" /> "level" value="ALL" /> "dateTimeFormat" value="yyyy/MM/dd HH:mm:ss:SSS" />
soscw.com,搜素材

最后的app.config或者web.config 中完整配置如下

soscw.com,搜素材
"1.0" encoding="utf-8" ?>
"iBATIS">
      
"logging" type="IBatisNet.Common.Logging.ConfigurationSectionHandler, IBatisNet.Common" />
"log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
"IBatisNet.Common.Logging.Impl.ConsoleOutLoggerFA, IBatisNet.Common"> "showLogName" value="true" /> "showDataTime" value="true" /> "level" value="ALL" /> "dateTimeFormat" value="yyyy/MM/dd HH:mm:ss:SSS" />
soscw.com,搜素材

 

第三步:开始运行测试吧,在运行时候会出现命令窗口显示SQL和参数,效果如下 怎么样比较乱吧

soscw.com,搜素材

 

2.使用log4net的格式输出到文本文件中

既然是使用log4net的方式肯定要引用mybatis中自带的IBatisNet.Common.Logging.Log4Net.dll,只需要引用就可以了,不需要在代码上特别写什么。

剩下的就是配置了 。因为使用log4net的格式输出日志。就牵涉到log4net的日志格式配置保存在那里的问题,由此引出了第三种方式,

和mybatis的节点一起写在引用程序保存在app.config或者web.config中是第二中方式。log4net 独立保存在另一个配置文件中是第三种方式。

具体的配置如下,保存在app.config或者web.config中

在configuration中添加如下配置:

soscw.com,搜素材
  
  "IBatisNet.Common.Logging.Impl.Log4NetLoggerFA, IBatisNet.Common.Logging.Log4Net">
        "configType" value="inline" />
      "FileAppender" type="log4net.Appender.FileAppender">
      "log.txt" />
      "true" />
      "log4net.Layout.SimpleLayout" />
    
    "ALL" />
      ref ref="FileAppender" />
    
soscw.com,搜素材

上面一部分mybatis的配置,下面的log4Net节点是log4Net的配置,可以自己写日子的格式

最后的app.config或者web.config 中完整配置如下

soscw.com,搜素材
"1.0" encoding="utf-8" ?>
"iBATIS">
      
"logging" type="IBatisNet.Common.Logging.ConfigurationSectionHandler, IBatisNet.Common" />
"log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
"IBatisNet.Common.Logging.Impl.Log4NetLoggerFA, IBatisNet.Common.Logging.Log4Net"> "configType" value="inline" /> "FileAppender" type="log4net.Appender.FileAppender"> "log.txt" /> "true" /> "log4net.Layout.SimpleLayout" /> "ALL" /> ref ref="FileAppender" />
soscw.com,搜素材

 

第三种方式 单独把log4Net的配置保存log4Net.config中( 推荐)

该方式和第二种差不多,只是把log4Net 的配置独立保存在另一个配置文件中了,在配置比较多的时候,又想对日志的格式有更细致的控制时,推荐采用该方式

具体的配置如下:

第一步: app.config或者web.config中的配置如下 

soscw.com,搜素材
"1.0" encoding="utf-8" ?>
"iBATIS">
      
"logging" type="IBatisNet.Common.Logging.ConfigurationSectionHandler, IBatisNet.Common" />
"log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
"IBatisNet.Common.Logging.Impl.Log4NetLoggerFA, IBatisNet.Common.Logging.Log4Net"> "configType" value="file-watch" /> "configFile" value="Log4Net.config"/>
soscw.com,搜素材

 第二步: log4Net.config 的配置如下,不想写出日志时可以把level的值设为 “ off ",配置是从其他的大神那拿来的,想要在深入了解的话可以看

http://blog.csdn.net/pfe_nova/article/details/12225349

soscw.com,搜素材
"1.0"?>
"log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
"DEBUG"/> ref ref="RollingFileAppender"/> "RollingFileAppender" type="log4net.Appender.RollingFileAppender"> "c:\Log\TestLog4net.TXT"/> "log4net.Appender.FileAppender+MinimalLock"/> "(yyyyMMdd)"/> "true"/> "Size"/> "10"/> "2MB"/> "log4net.Layout.PatternLayout"> "%date [%t]%-5p %c - %m%n"/>
soscw.com,搜素材

最后在目标位置会产生日志文件,快去尝试吧

soscw.com,搜素材

 

最后有个问题mybatis应该可以在代码里面里面设置日志的级别,目前还没找到,只能通过log4Net 的level来决定是否输出日志,不太合理

有知道的,求告知

源码:http://files.cnblogs.com/Dunk/MyBatis.zip

 

Mybatis for .net 的日志输出,搜素材,soscw.com

Mybatis for .net 的日志输出

标签:style   blog   class   code   java   tar   

原文地址:http://www.cnblogs.com/Dunk/p/3714689.html


评论


亲,登录后才可以留言!