klvoek

klvoek

MyBatis 配置log4net loger

自从IBatis被换成了MyBatis以后,搜索MyBatis的相关结果总是IBatis,可怜啊

在项目里,如果能够输出MyBatis运行时执行的Sql语句对于调试是相当方便的

.NET程序里,对于Winform只需要添加App.config,在对应节中添加配置代码即可

而Web程序只需要在Web.config中添加即可。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

  <!-- Register a section handler for the log4net section -->
  <configSections>
    <sectionGroup name="iBATIS">
      <section name="logging" type="MyBatis.Common.Logging.ConfigurationSectionHandler, MyBatis.Common" />
    </sectionGroup>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
  <appSettings>
    <!-- To enable internal log4net logging specify the following appSettings key -->
    <!-- <add key="log4net.Internal.Debug" value="true"/> -->

    <!-- To test MySql set value="MySql" -->
    <!-- To test Oracle set value="Oracle" -->
    <!-- To test MS Sql Server set value="MSSQL"  -->
    <add key="database" value="MySql"/>
    <!-- To test MS SqlServer via SqlClient value="SqlClient"  -->
    <!-- To test Oracle via OracleClient value="OracleClient"  -->
    <!-- To test MySql via ByteFx value="ByteFx"  -->
    <!-- To test via OleDb provider (any database) value="OleDb"  -->
    <!-- To test via Odbc provider (any database) value="Odbc"  -->
    <add key="providerType" value="SqlClient"/>
  </appSettings>

  <iBATIS>
    <logging>
      <logFactoryAdapter type="MyBatis.Common.Logging.Impl.TraceLoggerFA, MyBatis.Common">
        <arg key="showLogName" value="true" />
        <arg key="showDateTime" value="true" />
        <arg key="level" value="All" />
        <arg key="dateTimeFormat" value="yyyy/MM/dd HH:mm:ss:SSS" />
      </logFactoryAdapter>

      <!--<logFactoryAdapter type="IBatisNet.Common.Logging.Impl.Log4NetLoggerFA, IBatisNet.Common">
				<arg key="configType" value="inline" />
			</logFactoryAdapter>-->
    </logging>
  </iBATIS>

  <!-- This section contains the log4net configuration settings -->
  <log4net>
    <!-- Define some output appenders -->
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="log.txt" />
      <param name="AppendToFile" value="true" />
      <param name="MaxSizeRollBackups" value="2" />
      <param name="MaximumFileSize" value="100KB" />
      <param name="RollingStyle" value="Size" />
      <param name="StaticLogFileName" value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="Header" value="[Header]\r\n" />
        <param name="Footer" value="[Footer]\r\n" />
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
      </layout>
    </appender>
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] &lt;%X{auth}&gt; - %m%n" />
      </layout>
    </appender>
    <appender name="TraceAppender" type="log4net.Appender.TraceAppender">
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] &lt;%X{auth}&gt; - %m%n" />
      </layout>
    </appender>

    <!-- Set root logger level to ERROR and its appenders -->
    <root>
      <level value="DEBUG" />
      <!--
      <appender-ref ref="RollingLogFileAppender" />
      <appender-ref ref="ConsoleAppender" />-->
      <appender-ref ref="TraceAppender" />
    </root>

    <!-- Print only messages of level DEBUG or above in the packages -->
    <logger name="IBatisNet.DataMapper.Configuration.Cache.CacheModel">
      <level value="DEBUG" />
    </logger>
    <logger name="IBatisNet.DataMapper.Configuration.Statements.PreparedStatementFactory">
      <level value="DEBUG" />
    </logger>
    <logger name="IBatisNet.DataMapper.LazyLoadList">
      <level value="DEBUG" />
    </logger>
    <logger name="IBatisNet.DataAccess.DaoSession">
      <level value="DEBUG" />
    </logger>
    <logger name="IBatisNet.DataMapper.SqlMapSession">
      <level value="DEBUG" />
    </logger>
    <logger name="IBatisNet.Common.Transaction.TransactionScope">
      <level value="DEBUG" />
    </logger>
    <logger name="IBatisNet.DataAccess.Configuration.DaoProxy">
      <level value="DEBUG" />
    </logger>
  </log4net>

</configuration>
这些配置内容在MyBatis源代码中可以找到

我也来参与讨论

  1. 回复 2011-11-4 21:27:32 by NinoFocus

    什么时候变成MyBatis了啊,这么雷人
  2. 回复 2011-11-6 10:51:48 by klvoek

    @NinoFocus:很久之前被Google收购了啊
你还可以输入600/600个字符 发表评论
称呼: (必填) 登录 | 开通博客
邮箱: (选填) 你的邮箱地址不会被公开
网站: (选填)
验证码: (必填)
看不清换一张 看不清楚换一张