2009-11-25 32 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