Umbraco CMS (.NET): les erreurs de journalisation de chargement / xslt contrôle de l'utilisateur
-
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.
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.