protected override async Task SendErrorNotifierAsync(ExceptionSendNotifierContext context) { var notificationDispatcher = context.ServiceProvider.GetRequiredService <INotificationDispatcher>(); var notificationName = NotificationNameNormalizer .NormalizerName(AbpExceptionHandlingNotificationNames.NotificationName); NotificationData notificationData; if (CurrentTenant.IsAvailable) { notificationData = NotificationData.CreateTenantNotificationData(CurrentTenant.Id.Value); } else { notificationData = NotificationData.CreateNotificationData(); } // 写入通知数据 //TODO:集成TextTemplate完成格式化的推送 notificationData.WriteStandardData( context.Exception.GetType().FullName, context.Exception.Message, DateTime.Now, "System"); await notificationDispatcher.DispatchAsync(notificationName, notificationData, CurrentTenant.Id, NotificationSeverity.Error); }