如何从标准ServiceStack错误响应中删除堆栈跟踪

时间:2011-12-09 23:33:07

标签: c# .net servicestack

我刚刚开始使用ServiceStack,我想知道是否可以从标准错误响应中删除堆栈跟踪。

我试过没有运气就关闭了debugmode:

public override void Configure(Funq.Container container)
{
    SetConfig(new EndpointHostConfig { DebugMode = false, });
}

非常感谢!

2 个答案:

答案 0 :(得分:4)

默认情况下,下面的配置只会删除StackTrace在Web Service响应中的外部可见性:

SetConfig(new EndpointHostConfig { DebugMode = false, });

我再次对此进行了测试,它按预期工作。

要一起禁用Logging,您可以将ServiceStack设置为使用NullLogFactory

LogManager.LogFactory = new NullLogFactory();

或者,您可以通过创建自己的ServiceStack.Logging适配器并以相同的方式设置它来控制所有日志记录的粒度:

LogManager.LogFactory = new MyCustomLogFactory();

答案 1 :(得分:1)

我以前担心堆栈跟踪并对其进行了一些测试。

我发现在默认情况下您不需要设置此选项。如果项目是在Release中构建的,则堆栈跟踪不在响应中。