我想知道是否有一種方法在Umbraco記錄我們得到的錯誤,當它無法加載xslt或用戶控件。通常它會顯示一個紅框,表示無法加載控件和內容。有沒有辦法正確記錄這個?Umbraco CMS(.NET):記錄錯誤加載xslt /用戶控件
在此先感謝。
我想知道是否有一種方法在Umbraco記錄我們得到的錯誤,當它無法加載xslt或用戶控件。通常它會顯示一個紅框,表示無法加載控件和內容。有沒有辦法正確記錄這個?Umbraco CMS(.NET):記錄錯誤加載xslt /用戶控件
在此先感謝。
首先,它不是真的支持......當錯誤發生時,它輸出html並寫入到asp.net跟蹤日誌中。
繼承人如何處理此問題。我的大部分Umbraco安裝使用Elmah進行異常記錄,並使用log4net進行應用程序日誌記錄。這應該會給你輸出的任何錯誤。
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() {}
}
只需將該模塊添加到您的web.config。我沒有測試,因爲它是凌晨1點:)但整體概念應該工作。
哇,謝謝,以爲沒有人會回答!我會測試,然後標記爲答案:) – MSI 2010-10-01 07:12:43
我試過這個,但它在MacroLogging-> Init方法給出運行時異常,說所需的操作需要IIS集成模式,並且我有經典。任何想法如何解決這個問題? – 2013-05-23 13:32:25
嗯希望有人發佈一些答案,至少...真的在尋找一個解決方案。 – MSI 2010-09-28 23:00:59