2017-01-12 6 views
1

Wie protokolliert man am besten alle von Entity Framework verursachten Fehler?Entity Framework Fehler protokollieren

Derzeit verwende ich log4net, aber ich denke, das ist unabhängig von der Protokollierung Framework.

In Bezug auf ein Beispiel API:

public class TestController : ApiController 
{ 
    [HttpGet] 
    public IEnumerable<Test> GetTests() 
    { 
     using(var context = new DatabaseContext()) 
     { 
      return context.Tests.Where(w=>w.Enabled).ToList(); 
     } 
    } 
} 

Vorerst möchte ich meine Methode Körper in einem try/catch halten müssen (und ich würde alle Methodenrümpfe aller Regler in try/catch-Stick haben Blöcke)

Aber ich möchte keinen Methodenkörper meiner API in einen try/catch-Block setzen.

Gibt es eine Möglichkeit wie ein OnException in meiner DatabaseContext Klasse hinzufügen, wo ich immer jede Ausnahme von Entity Framework protokolliert protokollieren kann?

+1

check 3. Art der Ausnahmebehandlung in http://www.dotnetcurry.com/aspnet-mvc/1068/aspnet-mvc-exception-handling –

+0

@PranavPatel haha, diese Seite sieht wirklich aus wie Curry ... du meinst das 'HandleErrorAttribute'? –

+1

@MatthiasBurger Ja, Sie fügen das zu den globalen Filtern hinzu. –

Antwort

2

Sie können schauen Sie in den folgenden:

Global Error Handling in ASP.NET Web API 2

Exception Filters

Dinge nehmen noch weiter, wenn Sie detaillierte Informationen erhalten möchten, was mit den zugrunde liegenden Befehle weitergeht, können Sie implementieren Sie auch eine Interceptor.

+0

die Kombination von Ausnahmefilter und Interceptor-Implementierung passt perfekt zu mir. Danke! –