使用ServiceStack,我可以添加日志引用所有错误响应吗?

时间:2012-10-25 09:41:40

标签: exception error-handling customization servicestack

我已经使用(在我的AppHost.cs中)实现了所有请求/响应的记录:

this.RequestFilters.Add(serviceLogFilter.LogRequest);
this.ResponseFilters.Add(serviceLogFilter.LogResponse);

在记录请求期间,我从记录表中获取新ID并将其放入IHttpRequest.Items

我的问题是:当发生错误时,如果传入数据的验证失败,或者我的业务逻辑抛出异常,是否有一种方法可以自定义返回的错误以包含我的日志引用?最好通过向错误响应添加JSON主体。或者,设置自定义HTTP标头?

我的想法是,如果发生意外情况,我的客户可以给我一个日志参考,我会找到他的请求,并且很容易重现问题。

1 个答案:

答案 0 :(得分:0)

请参阅旧this question on different ways to Handle exceptionsNew API

使用IHttpRequest.Items字典在同一请求中的请求过滤器,服务和响应过滤器之间传递数据。

InMemoryRollingRequestLogger插件的Request Logger实现还显示了另一种能够记录所有请求的方法。