Umbraco CMS (NET): registrazione degli errori di carico XSLT / Controlli utente
-
25-09-2019 - |
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.
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.