Frage

Ich habe mich gefragt, ob es einen Weg in Umbraco ist Fehler zu protokollieren, dass wir, wenn es um Last Xslt oder benutzer Kontrollen versagt. Im Allgemeinen zeigt es ein rotes Feld sagen, es ist nicht die Kontrolle und Sachen laden konnte. Gibt es eine Möglichkeit, um richtig diese einzuloggen?

Vielen Dank im Voraus.

War es hilfreich?

Lösung

Zunächst einmal, es ist nicht wirklich unterstützt ... Wenn Fehler auftreten, es gibt html und Schreiben in das asp.net Trace-Protokoll.

Hier ist, wie ich diesen Ansatz würde. Die meisten meiner Umbraco Installationen verwenden Elmah für die Ausnahmeprotokollierung und log4net für Anwendungsprotokollierung. Dies sollten Sie Fehler bei der Ausgabe.

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() {}

}

Fügen Sie einfach das Modul zu Ihrer web.config. Ich have't wie es die 01.00 getestet :) aber das Gesamtkonzept sollte funktionieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top