【发布时间】:2023-01-30 14:22:22
【问题描述】:
未处理的异常只能在以下情况下详细记录到审计日志中
SendExceptionsDetailsToClients 设置为真。但不应将异常发送给生产中的客户。
我不知道为什么审计日志模块无法获取异常详细信息,它是由操作过滤器触发的吗?它在异常文件管理器之后运行? 谢谢你的帮助!
【问题讨论】:
未处理的异常只能在以下情况下详细记录到审计日志中
SendExceptionsDetailsToClients 设置为真。但不应将异常发送给生产中的客户。
我不知道为什么审计日志模块无法获取异常详细信息,它是由操作过滤器触发的吗?它在异常文件管理器之后运行? 谢谢你的帮助!
【问题讨论】:
我解决了这个问题。正如问题中所说,SendExceptionsDetailsToClients是关键。我查看了源代码,发现审计日志也流过这个设置。
只需自定义一个转换器来替换AuditLogInfoToAuditLogConverter,并修改这两行,都设置为真。
//AuditLogInfoToAuditLogConverter.cs
var remoteServiceErrorInfos = auditLogInfo.Exceptions?.Select(exception => ExceptionToErrorInfoConverter.Convert(exception, options =>
{
options.SendExceptionsDetailsToClients = true;//ExceptionHandlingOptions.SendExceptionsDetailsToClients;
options.SendStackTraceToClients = true;//ExceptionHandlingOptions.SendStackTraceToClients;
}))?? new List<RemoteServiceErrorInfo>();
【讨论】: