ASP.NET MVC - Castle ActiveRecord - 显示SQL查询

时间:2009-11-25 22:10:36

标签: sql asp.net-mvc nhibernate castle-activerecord

我正在使用带有Castle ActiveRecord的ASP.NET MVC作为我的持久层。

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

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

我想我可以使用log4net来做这件事,但经过一些使用谷歌的研究后,我无法提出解决方案。

2 个答案:

答案 0 :(得分:3)

在您的Application_Start中:

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

然后你需要在root中使用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您可以将其作为参考。

答案 1 :(得分:2)

这是一个关于如何为ASP.NET配置log4net的教程,它对于MVC来说都是一样的: http://www.codeproject.com/KB/aspnet/Log4Net_Configuration.aspx

以下是如何配置NHibernate将SQL输出到log4net http://www.davesquared.net/2008/01/viewing-sql-generated-by-nhibernate.html