2010-09-28 6 views
5

Zastanawiam się, czy istnieje sposób w Umbraco do rejestrowania błędów, które otrzymujemy, gdy nie można załadować xslt lub kontroli użytkownika. Generalnie pokazuje czerwone pole mówiąc, że nie może załadować kontroli i innych rzeczy. Czy istnieje sposób, aby poprawnie to zarejestrować?Umbraco CMS (.NET): błędy logowania ładowanie xslt/Kontrola użytkownika

Z góry dziękuję.

+0

hm nadzieję, że ktoś opublikuje kilka odpowiedzi przynajmniej ... naprawdę szuka rozwiązania. – MSI

Odpowiedz

4

Po pierwsze, nie jest tak naprawdę obsługiwane ... Gdy wystąpią błędy, wyprowadza html i zapisuje w dzienniku śledzenia asp.net.

Oto jak do tego doszłam. Większość moich instalacji Umbraco wykorzystuje Elmah do rejestrowania wyjątków i log4net do rejestrowania aplikacji. Powinno to spowodować błędy na wyjściu.

using System; 
using System.Linq; 
using System.Web; 

public class MacroLogging : IHttpModule { 

    public void Init(HttpApplication context) { 
     context.LogRequest += ContextLogRequest; 
    } 

    static void ContextLogRequest(object source, EventArgs e) { 
     var app = (HttpApplication)source; 
     var context = app.Context; 
     context.Trace.TraceFinished += TraceFinished; 
    } 

    static void TraceFinished(object sender, TraceContextEventArgs e) { 
     var records = e.TraceRecords.Cast<TraceContextRecord>(); 
     var categoryTypes = new[] {"Macro", "macro", "umbracoMacro"}; 
     var traceOutput = records.Where(p => categoryTypes.Contains(p.Category) && p.IsWarning))); 
     foreach (var entry in traceOutput) { 
      //Your Output entry.Message 
     } 
    } 

    public void Dispose() {} 

} 

Po prostu dodaj moduł do swojego pliku web.config. Nie testowałem jak to jest 1 rano :) ale ogólna koncepcja powinna działać.

+0

Dzięki dzięki, nikt nie chciał odpowiedzieć! Będę testować, a następnie oznaczać jako odpowiedź :) – MSI

+0

Próbowałem tego, ale daje on wyjątek w czasie pracy w MacroLogging-> Metoda Init, mówiąc, że wymagana operacja wymaga trybu zintegrowanego IIS i mam klasyczne. Masz pomysł, jak to rozwiązać? –

Powiązane problemy