我正在使用带有Castle ActiveRecord的ASP.NET MVC作为我的持久层。
我想知道是否可以显示在我的MySQL服务器上执行的SQL查询。
我知道可以在使用Castle XML配置文件中的“show_sql”属性的Web应用程序中,但我不知道如何使用Web应用程序执行此操作,因为我无法访问控制台。
我想我可以使用log4net来做这件事,但经过一些使用谷歌的研究后,我无法提出解决方案。
答案 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