public async Task Call_WithValidParameters_LogTiming() { var command = new SafeCallServiceCommand( () => Task.Delay(1000), new SafeCallServiceLogMetadata( Guid.NewGuid(), typeof(SafeCallService), "Unit Tests")); await this.CallService.Call(command); }
public async Task CallAsync(SafeCallServiceCommand command) { this.log.ForContext(command.Metadata.Context); try { using (this.log.BeginTimedOperation(command.Metadata.Name, identifier: command.Metadata.CorrelationId.ToString())) { await command.Func.Invoke(); } } catch (Exception ex) { this.log.Error(ex, $"Failed {command.Metadata.Context.Name}"); } }