2013-06-14 6 views
1

Je développe localement une application ASP.NET MVC et utiliser Log4Net pour vous connecter message sur la base de données locale avec la chaîne de connexion suivante (log4net.config):Log4Net localement mais pas travailler sur Azure à distance DB

<connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
<connectionString value="Data Source=.\;Initial Catalog=MyDatabase;Integrated Security=True" /> 

Cette fonctionne parfaitement (les entrées de la base de données apparaissent dans la table Log).

Maintenant, je voudrais vous connecter au serveur de base de données d'azur à distance, donc je viens de modifier la chaîne de connexion en suivant:

<connectionString value="Data Source=mydb.database.windows.net,1433;Initial Catalog=MyDatabase;User [email protected];Password=mypassword;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;" /> 

J'inséré mon adresse IP dans le pare-feu (comme la preuve que je peux connecter via SQL Studio sur ma machine à l'instance azure db).

Lors du débogage de l'application, je ne vois aucune exception causée par log4net.

J'utilise le château-windsor pour injecter le ILogger en cas de besoin, voici mon installateur:

public class LoggerInstaller : IWindsorInstaller 
    { 
     public void Install(IWindsorContainer container, IConfigurationStore store) 
     { 
      container.AddFacility<LoggingFacility>(f => f.UseLog4Net().WithConfig("Configuration\\log4net.config")); 
     } 
    } 

La base de données sur l'instance DB d'azur est la copie exacte de l'un local (même créer script).

Mais rien n'apparaît dans la base de données distante. Qu'est-ce que je fais mal? Comment puis-je trouver le problème?

Merci beaucoup

Répondre

2

Log4net ne sera jamais jeter une exception si elle échoue. Il est conçu pour ne pas interagir avec votre application. La façon la plus rapide de trouver pourquoi Lognet n'est pas l'exploitation forestière est en permettant l'enregistrement interal log4net:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <appSettings> 
     <add key="log4net.Internal.Debug" value="true"/> 
    </appSettings> 
</configuration> 

OU

<configuration> 
... 

<system.diagnostics> 
    <trace autoflush="true"> 
     <listeners> 
      <add 
       name="textWriterTraceListener" 
       type="System.Diagnostics.TextWriterTraceListener" 
       initializeData="C:\tmp\log4net.txt" /> 
     </listeners> 
    </trace> 
</system.diagnostics> 

... 
</configuration> 
+0

Merci, cela me conduit au problème suivant: index cluster manquant sur la table, juste en l'ajout de l'index a résolu le problème! – Wizche

Questions connexes