经过多次试验,我似乎无法让Nancy的诊断跟踪显示超出一组空白框的任何内容。每个浏览器会话显示一个框。然而,这些盒子从不包含任何信息。
根据diagnostics page,我添加了诊断密码并设置了
StaticConfiguration.EnableRequestTracing = true;
我希望可以使用某种默认的跟踪功能,但以防万一我打电话给
this.Context.Trace.TraceLog.WriteLog(x => x.AppendLine("What's ip?"));
在我的一个模块中,并确认正在调用该模块路由。仍然没有迹象表明正在进行跟踪。
我们正在框架4.7.1应用中运行NancyFx版本1.45。为什么会发生这种情况有什么建议吗?
谢谢
答案 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);
}
}