ASP.NET MVC - Замок ActiveRecord - Показать SQL-запросы - PullRequest
2 голосов
/ 26 ноября 2009

Я использую ASP.NET MVC с Castle ActiveRecord в качестве слоя устойчивости.

Я хочу знать, возможно ли показать запросы SQL, выполняемые на моем сервере MySQL.

Я знаю, что это возможно в веб-приложении с использованием свойства show_sql в файле конфигурации Castle XML, но я не знаю, как это сделать с помощью веб-приложения, поскольку у меня нет доступа к консоли.

Я думаю, что могу использовать log4net для этого, но после некоторых исследований с использованием Google я не смог найти решение.

Ответы [ 2 ]

3 голосов
/ 26 ноября 2009

В вашем 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>

Вот пример приложения , которое вы можете использовать в качестве справочного.

2 голосов
/ 26 ноября 2009

Вот руководство по настройке log4net для ASP.NET, для 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

...