我在想,如果有一个在一把umbraco的方式来记录错误,我们得到,当它无法加载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。我have't测试,因为它的凌晨1点:)但整体概念应该工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top