2009-11-25 33 views
2

我使用ASP.NET MVC和Castle ActiveRecord作为我的持久层。ASP.NET MVC - Castle ActiveRecord - 显示SQL查询

我想知道是否可以显示正在我的MySQL服务器上执行的SQL查询。

我知道它可能在Web应用程序中使用Castle XML配置文件中的“show_sql”属性,但我不知道如何使用Web应用程序执行此操作,因为我无法访问控制台。

我想我可以使用log4net来做到这一点,但经过使用谷歌的一些研究,我一直没有能够拿出解决方案。

+0

你已经在使用log4net? – 2009-11-25 22:23:33

+0

不,但我知道你可以配置Castle ActiveRecord来使用它。 – 2009-11-25 22:25:40

回答

3

在你的Application_Start:

XmlConfigurator.Configure(new FileInfo(Server.MapPath("/log4net.config"))); 

那么你需要一个log4net.config在你的根,是这样的:

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

<log4net debug="true"> 
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender, log4net" > 
     <param name="File" value="log.txt" /> 
     <param name="AppendToFile" value="true" /> 
     <rollingStyle value="Date" /> 
     <datePattern value="yyyyMMdd" /> 
     <maxSizeRollBackups value="7" /> 
     <layout type="log4net.Layout.PatternLayout, log4net"> 
      <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" /> 
     </layout> 
    </appender> 

    <root> 
     <priority value="DEBUG" /> 
     <appender-ref ref="LogFileAppender"/> 
    </root> 
</log4net> 

Here's a sample app可以作为参考使用。

+0

这样做!日志对我来说有点过于冗长,但它仍然在做这项工作。谢谢! – 2009-12-01 03:08:02