Pregunta

Me estaba preguntando si hay una manera en Umbraco para registrar los errores que obtenemos cuando falla en XSLT carga o usuarios-controles. Por lo general, muestra un cuadro rojo diciendo que no podía cargar el control y esas cosas. ¿Hay una manera de conectarse adecuadamente esto?

Gracias de antemano.

¿Fue útil?

Solución

En primer lugar, en realidad no es compatible ... Cuando se producen errores que las salidas html y escrituras en el registro de seguimiento asp.net.

Aquí está cómo iba a acercarse a este. La mayoría de mis instalaciones Umbraco usar Elmah para el registro de excepción y log4net para el registro de aplicación. Esto debe darle cualquier error en la salida.

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

}

Sólo tiene que añadir el módulo al web.config. Yo probé have't ya que de 01 a.m. :) pero el concepto general debería funcionar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top