IBatis.Net中提供了方便的日志处理,可以输出sql语句等调试信息。
常用的有两种:
1、输出到控制台:
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<configSections>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<sectionGroup name="iBATIS">
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<section name="logging" type="IBatisNet.Common.Logging.ConfigurationSectionHandler, IBatisNet.Common" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</sectionGroup>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</configSections>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<iBATIS>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<logging>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<logFactoryAdapter type="IBatisNet.Common.Logging.Impl.TraceLoggerFA, IBatisNet.Common">
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<arg key="showLogName" value="true" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<arg key="showDataTime" value="true" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<arg key="level" value="ALL" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<arg key="dateTimeFormat" value="yyyy/MM/dd HH:mm:ss:SSS" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</logFactoryAdapter>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</logging>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</iBATIS>
2、利用log4net输出到文件:
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<configSections>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<sectionGroup name="iBATIS">
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<section name="logging" type="IBatisNet.Common.Logging.ConfigurationSectionHandler, IBatisNet.Common" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</sectionGroup>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</configSections>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<iBATIS>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<logging>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<logFactoryAdapter type="IBatisNet.Common.Logging.Impl.Log4NetLoggerFA, IBatisNet.Common.Logging.Log4Net">
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<arg key="configType" value="inline" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</logFactoryAdapter>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</logging>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</iBATIS>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<log4net>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<!-- Define some output appenders -->
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<param name="File" value="f:\log.txt" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<param name="AppendToFile" value="true" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<param name="MaxSizeRollBackups" value="2" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<param name="MaximumFileSize" value="100KB" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<param name="RollingStyle" value="Size" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<param name="StaticLogFileName" value="true" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<layout type="log4net.Layout.PatternLayout">
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<param name="Header" value="[Header]\r\n" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<param name="Footer" value="[Footer]\r\n" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</layout>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</appender>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<layout type="log4net.Layout.PatternLayout">
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] <%X{auth}> - %m%n" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</layout>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</appender>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<!-- Set root logger level to ERROR and its appenders -->
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<root>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<level value="DEBUG" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<appender-ref ref="RollingLogFileAppender" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<appender-ref ref="ConsoleAppender" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</root>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<!-- Print only messages of level DEBUG or above in the packages -->
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<logger name="IBatisNet.DataMapper.Configuration.Cache.CacheModel">
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<level value="DEBUG" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</logger>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<logger name="IBatisNet.DataMapper.Configuration.Statements.PreparedStatementFactory">
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<level value="DEBUG" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</logger>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<logger name="IBatisNet.DataMapper.LazyLoadList">
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<level value="DEBUG" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</logger>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<logger name="IBatisNet.DataAccess.DaoSession">
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<level value="DEBUG" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</logger>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<logger name="IBatisNet.DataMapper.SqlMapSession">
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<level value="DEBUG" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</logger>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<logger name="IBatisNet.Common.Transaction.TransactionScope">
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<level value="DEBUG" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</logger>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<logger name="IBatisNet.DataAccess.Configuration.DaoProxy">
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<level value="DEBUG" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</logger>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</log4net>