Umbraco CMS (.NET): les erreurs de journalisation de chargement / xslt contrôle de l'utilisateur

StackOverflow https://stackoverflow.com/questions/3809618

  •  25-09-2019
  •  | 
  •  

Question

Je me demandais s'il y a une façon Umbraco pour consigner les erreurs que nous obtenons quand il ne parvient pas à charger les contrôles-utilisateur ou xslt. En général, il montre une boîte rouge en disant qu'il n'a pas pu charger le contrôle et d'autres choses. Est-il possible de se connecter correctement ce?

Merci d'avance.

Était-ce utile?

La solution

Tout d'abord, il est pas vraiment pris en charge ... Lorsque des erreurs se produisent, il génère HTML et écrit dans le journal de trace asp.net.

Voici comment j'aborder ce sujet. La plupart de mes installations Umbraco utilisent Elmah pour l'enregistrement d'exception et log4net pour l'enregistrement de l'application. Cela devrait vous donner des erreurs sur la sortie.

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

}

Il suffit d'ajouter le module à votre web.config. Je have't testé comme il est 1 heures :) mais le concept global devrait fonctionner.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top