gpt4 book ai didi

asp.net - Umbraco CMS(.NET) : Logging errors loading xslt/User controls

转载 作者:行者123 更新时间:2023-12-02 21:35:50 25 4
gpt4 key购买 nike

我想知道 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 中即可。我还没有测试过,因为现在是凌晨 1 点:),但总体概念应该可行。

关于asp.net - Umbraco CMS(.NET) : Logging errors loading xslt/User controls,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3809618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com