Domanda

mi chiedevo se c'è un modo in Umbraco per registrare gli errori che otteniamo quando non riesce a XSLT carico o user-controlli. In generale si vede una scatola rossa dicendo che non è riuscito a caricare il controllo e la roba. C'è un modo per accedere correttamente questo?

Grazie in anticipo.

È stato utile?

Soluzione

Prima di tutto, non è davvero supportato ... Quando si verificano errori che esso uscite html e scrive nel registro asp.net traccia.

Ecco come vorrei affrontare questo. La maggior parte delle mie installazioni Umbraco utilizzare Elmah per il logging eccezione e log4net per la registrazione di applicazione. Questo dovrebbe dare eventuali errori in uscita.

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

}

Basta aggiungere il modulo al web.config. Ho provato have't come di 01:00 :) ma il concetto generale dovrebbe funzionare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top