2009-11-25 5 views
2

J'utilise ASP.NET MVC avec Castle ActiveRecord comme couche de persistance.ASP.NET MVC - Castle ActiveRecord - Afficher les requêtes SQL

Je veux savoir s'il est possible d'afficher les requêtes SQL en cours d'exécution sur mon serveur MySQL. Je sais que c'est possible dans une application Web utilisant la propriété "show_sql" dans le fichier de configuration de Castle XML, mais je ne sais pas comment le faire en utilisant une application Web, puisque je n'ai pas accès à la console .

Je pense que je peux utiliser log4net pour le faire, mais après quelques recherches avec Google, je n'ai pas été capable de trouver une solution.

+0

êtes-vous utilise déjà log4net? –

+0

Non, mais je sais que vous pouvez configurer Castle ActiveRecord pour l'utiliser. –

Répondre

3

Dans votre Application_Start:

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

Ensuite, vous avez besoin d'un log4net.config dans votre racine, quelque chose comme ceci:

<?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 vous pouvez utiliser comme référence.

+0

Ça l'a fait! Le journal est un peu trop bavard à mon goût, mais il fait quand même le boulot. Je vous remercie! –

Questions connexes