南希请求跟踪不显示任何内容

时间:2019-05-07 22:36:22

标签: nancy

经过多次试验,我似乎无法让Nancy的诊断跟踪显示超出一组空白框的任何内容。每个浏览器会话显示一个框。然而,这些盒子从不包含任何信息。

根据diagnostics page,我添加了诊断密码并设置了

StaticConfiguration.EnableRequestTracing = true;

我希望可以使用某种默认的跟踪功能,但以防万一我打电话给

this.Context.Trace.TraceLog.WriteLog(x => x.AppendLine("What's ip?"));

在我的一个模块中,并确认正在调用该模块路由。仍然没有迹象表明正在进行跟踪。

我们正在框架4.7.1应用中运行NancyFx版本1.45。为什么会发生这种情况有什么建议吗?

谢谢

1 个答案:

答案 0 :(得分:1)

通过使用自定义引导程序启用跟踪和诊断。

对于NancyFx v1:

NancyOptions options = new NancyOptions
{
    Bootstrapper = new CustomBootstrapper()
};
app.UseNancy(options);

public class CustomBootstrapper : DefaultNancyBootstrapper
{
    protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines)
    {
        base.ApplicationStartup(container, pipelines);

        StaticConfiguration.DisableErrorTraces = false;
        StaticConfiguration.EnableRequestTracing = true;
        if (!StaticConfiguration.EnableRequestTracing)
        {
            DiagnosticsHook.Disable(pipelines);
        }
    }

    protected override DiagnosticsConfiguration DiagnosticsConfiguration => new DiagnosticsConfiguration() { Enabled = true, Password = @"A2\6mVtH/XRT\p,B" };
}

对于NancyFx v2:

NancyOptions options = new NancyOptions
{
    Bootstrapper = new CustomBootstrapper()
};
app.UseNancy(options);

public class CustomBootstrapper : DefaultNancyBootstrapper
{
    public override void Configure(INancyEnvironment environment)
    {
        environment.Diagnostics(
            enabled: true,
            password: @"A2\6mVtH/XRT\p,B");

        environment.Tracing(
            enabled: true,
            displayErrorTraces: true);
    }
}