【问题标题】:ASP.NET MVC - Castle ActiveRecord - Show SQL queriesASP.NET MVC - Castle ActiveRecord - 显示 SQL 查询
【发布时间】:2009-11-25 22:10:35
【问题描述】:

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

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

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

我认为我可以使用 log4net 来做到这一点,但是在使用 Google 进行了一些研究之后,我一直无法提出解决方案。

【问题讨论】:

  • 你已经在使用 log4net 了吗?
  • 不,但我知道你可以配置 Castle ActiveRecord 来使用它。

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


【解决方案1】:

在您的 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可以作为参考。

【讨论】:

  • 做到了!该日志对我的口味来说有点过于冗长,但它仍然可以完成工作。谢谢!
【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-24
    • 1970-01-01
    • 2021-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多