private bool IsPacketAllowed(MessageReader message, bool hostOnly) { var game = Player.Game; if (game == null) { return(false); } // GameCode must match code of the current game assigned to the player. if (message.ReadInt32() != game.Code) { return(false); } // Some packets should only be sent by the host of the game. if (hostOnly) { if (game.HostId == Id) { return(true); } Logger.Warning("[{0}] Client sent packet only allowed by the host ({1}).", Id, game.HostId); return(false); } return(true); }
/// <inheritdoc /> public void Warning <T1>(string template, T1 parameter1) { if (!IsEnabled(LogLevel.Warning)) { return; } _target.Warning(template, parameter1); }
public void Warning(string message, Exception exception = null) { if (exception != null) { _log.Warning(exception, message); } else { _log.Warning(message); } }
public void SendToAllExcept(MessageWriter message, ClientPlayer sender) { foreach (var(_, player) in _players.Where(x => x.Value != sender)) { if (player.Client.Connection.State != ConnectionState.Connected) { Logger.Warning("[{0}] Tried to sent data to a disconnected player ({1}).", sender?.Client.Id, player.Client.Id); continue; } player.Client.Send(message); } }
private void LogResponseHasStartedError(HttpContext context, string requestBody, string responseStream, Stopwatch stopWatch, bool isRequestOk, Exception ex) { _logger.Warning( "The response has already started, the AutoWrapper.Plus.Serilog middleware will not be executed."); }
private void Start() { _infoButton.onClick.AddListener(() => _logger.Information("This is an info")); _warningButton.onClick.AddListener(() => _logger.Warning("This is a warning")); _errorButton.onClick.AddListener(() => { try { throw new InvalidOperationException("Invalid stuff"); } catch (Exception e) { _logger.Error(e, "This is an error"); } }); _threadButton.onClick.AddListener(() => { var stopWatch = Stopwatch.StartNew(); ThreadPool.QueueUserWorkItem(state => { stopWatch.Stop(); _logger.Information("Log from thread {Id}, Invoke took: {Elapsed}", Thread.CurrentThread.ManagedThreadId, stopWatch.Elapsed); }); }); }
public static void HandleUnityLog(string logString, string stackTrace, LogType type) { if (logString.EndsWith(UnityLogEventSink.unityLogEventSinkMarker)) { // Has already been logged to the Unity Console. return; } Serilog.ILogger loggerWithContext = Logger.ForContext(UnityLogEventSink.skipUnityLogEventSinkPropertyName, true); switch (type) { case LogType.Warning: loggerWithContext.Warning(logString); break; case LogType.Assert: case LogType.Error: case LogType.Exception: loggerWithContext.Error(logString + "\n" + stackTrace); break; default: loggerWithContext.Information(logString); break; } }
/// <inheritdoc /> public Task LogMessage(LogMessage message) { switch (message.Severity) { case LogSeverity.Error: case LogSeverity.Critical: _logger.Fatal($"{message.Source}: {message.Message} {message.Exception}"); break; case LogSeverity.Warning: _logger.Warning($"{message.Source}: {message.Message} {message.Exception}"); break; case LogSeverity.Info: _logger.Information($"{message.Source}: {message.Message} {message.Exception}"); break; case LogSeverity.Verbose: _logger.Verbose($"{message.Source}: {message.Message} {message.Exception}"); break; case LogSeverity.Debug: _logger.Debug($"{message.Source}: {message.Message} {message.Exception}"); break; default: throw new ArgumentOutOfRangeException(); } return(Task.CompletedTask); }
public void Warning(string template, params object[] values) { if (_inner.IsEnabled(LogEventLevel.Warning)) { _inner.Warning(template, values); } }
private void OnMessageReceived(MessageReader message) { var flag = message.Tag; Logger.Verbose("Server got {0}.", flag); switch (flag) { case MessageFlags.HostGame: { using (var packet = MessageWriter.Get(SendOption.Reliable)) { Message13Redirect.Serialize(packet, false, _nodeProvider.Get()); _connection.Send(packet); } break; } case MessageFlags.JoinGame: { Message01JoinGame.Deserialize(message, out var gameCode, out var unknown); using (var packet = MessageWriter.Get(SendOption.Reliable)) { var endpoint = _nodeLocator.Find(GameCode.IntToGameName(gameCode)); if (endpoint == null) { Message01JoinGame.SerializeError(packet, false, DisconnectReason.GameMissing); } else { Message13Redirect.Serialize(packet, false, endpoint); } _connection.Send(packet); } break; } case MessageFlags.GetGameListV2: { // TODO: Implement. using (var packet = MessageWriter.Get(SendOption.Reliable)) { Message01JoinGame.SerializeError(packet, false, DisconnectReason.Custom, DisconnectMessages.NotImplemented); _connection.Send(packet); } break; } default: { Logger.Warning("Received unsupported message flag on the redirector ({0}).", flag); break; } } }
public override async ValueTask HandleMessageAsync(IMessageReader reader, MessageType messageType) { var flag = reader.Tag; Logger.Verbose("Server got {0}.", flag); switch (flag) { case MessageFlags.HostGame: { using var packet = MessageWriter.Get(MessageType.Reliable); Message13RedirectS2C.Serialize(packet, false, _nodeProvider.Get()); await Connection.SendAsync(packet); break; } case MessageFlags.JoinGame: { Message01JoinGameC2S.Deserialize( reader, out var gameCode, out _); using var packet = MessageWriter.Get(MessageType.Reliable); var endpoint = await _nodeLocator.FindAsync(GameCodeParser.IntToGameName(gameCode)); if (endpoint == null) { Message01JoinGameS2C.SerializeError(packet, false, DisconnectReason.GameMissing); } else { Message13RedirectS2C.Serialize(packet, false, endpoint); } await Connection.SendAsync(packet); break; } case MessageFlags.GetGameListV2: { // TODO: Implement. using var packet = MessageWriter.Get(MessageType.Reliable); Message01JoinGameS2C.SerializeError(packet, false, DisconnectReason.Custom, DisconnectMessages.NotImplemented); await Connection.SendAsync(packet); break; } default: { Logger.Warning("Received unsupported message flag on the redirector ({0}).", flag); break; } } }
protected internal virtual void ProcessReminders(ReminderTypes type) { if (type == ReminderTypes.Project) { ReminderServiceLog.Warning("Recurring reminders are disabled until design refactor is complete"); return; } //Get list of Event Assignments by type var eventTaskAssignments = GetListOfAssignments(type); //Filter into reminders that are due var dueReminders = eventTaskAssignments.Where(ShouldSendReminder); //Send reminders if required foreach (var reminder in dueReminders) { SendReminder(reminder); } }
public async Task SendMessage(MessageToSend message) { if (_isDisconnecting) { _logger.Warning("Trying to send message while disconnecting."); } var channelId = await GetChannelId(message); var res = await Client.PostMessageAsync(channelId, message.Text, "Automa Luce Della Pizza (PizzaLight Bot)"); }
private void RegisterWithConsul(IApplicationBuilder app, IApplicationLifetime lifetime) { try { _logger.Information("Starting registration in consul..."); var consulClient = app.ApplicationServices .GetRequiredService <IConsulClient>(); var appConfig = Configuration.GetSection("service").Get <ApplicationConfig>(); var features = app.Properties["server.Features"] as FeatureCollection; var addresses = features?.Get <IServerAddressesFeature>(); var address = addresses?.Addresses.FirstOrDefault() ?? DefaultAddress; // Register service with consul _logger.Information("Register service {serviceName} located on {address}", appConfig.Consul.ServiceName, address); var uri = new Uri(address); var registration = new AgentServiceRegistration { ID = $"{appConfig.Consul.ServiceId}_{Environment.MachineName}_{uri.Port}", Name = appConfig.Consul.ServiceName, Address = $"{uri.Host}", Port = uri.Port, Tags = new[] { "microservice", "password", "sharing", $"urlprefix-/{appConfig.Consul.ServiceName} strip=/{appConfig.Consul.ServiceName}" }, Checks = new AgentServiceCheck[] { new AgentCheckRegistration { HTTP = $"{uri.Scheme}://{uri.Host}:{uri.Port}/healthcheck", Interval = TimeSpan.FromMinutes(1), Timeout = TimeSpan.FromSeconds(3), Notes = "Check /healthcheck on service" } } }; consulClient.Agent.ServiceDeregister(registration.ID).GetAwaiter().GetResult(); consulClient.Agent.ServiceRegister(registration).GetAwaiter().GetResult(); lifetime.ApplicationStopping.Register(() => { _logger.Information("Deregister from consul"); consulClient.Agent.ServiceDeregister(registration.ID).GetAwaiter().GetResult(); }); _logger.Information("Finished registration in consul..."); } catch (Exception e) { _logger.Warning(e, "Failed to register app in consul."); } }
private static void LoadPlugins() { try { PlugInLoader.LoadExternalProcessors(Logger); } catch (System.Exception ex) { Logger.Warning("Failed to load external job processors {0}", ex); } }
private void CheckForConfigErrors() { if (!configInitErrors.HasErrors) { return; } var msg = $"{Resources.LoggingMessages.could_not_setup_config} {Resources.LoggingMessages.error_msg} {configInitErrors.ErrorMessages}"; msgSender.SendWarning(msg); log.Warning(msg); }
public Matchmaker(IPAddress ip, int port) { _gameManager = new GameManager(); _clientManager = new ClientManager(); _connection = new UdpConnectionListener(new IPEndPoint(ip, port), IPMode.IPv4, s => { Logger.Warning("Log from Hazel: {0}", s); }); _connection.NewConnection += OnNewConnection; }
/// <summary> /// Helper to log inner exceptions. /// </summary> private void LogExceptions(Exception ex) { while (ex != null) { var formattedException = ex as FormattedException; if (formattedException != null) { serilog.Warning(ex, "Exception ocurred\r\n" + formattedException.MessageTemplate, formattedException.PropertyValues); } else { serilog.Warning(ex, "Exception ocurred: {ExceptionMessage}\r\n" + "Details:\r\n" + "{@Exception}", ex.Message, ex ); } ex = ex.InnerException; } }
public override async Task HandleAsync(TelegramRequest req, CancellationToken ct) { if (!_options.SecretKey.Equals(req.SecretKey)) { _logger.Warning("Пришло событие с неправильным секретным ключом: {0}", req.SecretKey); await SendNotFoundAsync(ct); return; } BackgroundJob.Enqueue(() => _handler.Handle(req.Update)); await SendOkAsync(ct); }
void SubscriptionDropped( EventStoreCatchUpSubscription subscription, SubscriptionDropReason reason, Exception exception) { _log.Warning( exception, "Subscription {subscription} dropped because of {reason}", _subscriptionName, reason); if (reason != SubscriptionDropReason.UserInitiated) { Task.Run(Start); } }
private async Task SetImage(string url) { if (string.IsNullOrWhiteSpace(url)) { PART_Image.Source = PackageIconService.GetEmptyIconImage(); PART_Loading.IsActive = false; return; } PART_Loading.IsActive = true; var size = GetCurrentSize(); var expiration = DateTime.UtcNow + TimeSpan.FromDays(1); ImageSource source; try { source = await PackageIconService.GetImage(url, size, expiration); } catch (HttpRequestException) { source = PackageIconService.GetErrorIconImage(); } catch (ArgumentException exception) { Logger.Warning(exception, $"Got an invalid img url: \"{url}\"."); source = PackageIconService.GetErrorIconImage(); } catch (Exception exception) { Logger.Warning(exception, $"Something went wrong with: \"{url}\"."); source = PackageIconService.GetErrorIconImage(); } PART_Image.Source = source; PART_Loading.IsActive = false; }
private async Task SetImage(string url) { if (string.IsNullOrWhiteSpace(url)) { PART_Image.Source = EmptyIcon.Value; PART_Loading.IsActive = false; return; } PART_Loading.IsActive = true; var size = GetCurrentSize(); var expiration = DateTime.UtcNow + TimeSpan.FromDays(1); ImageSource source; try { source = (await LoadImage(url, size.Width, expiration)).ToNative(); } catch (HttpRequestException) { source = ErrorIcon.Value; } catch (ArgumentException) { Logger.Warning("Got an invalid img url: \"{IconUrl}\".", url); source = ErrorIcon.Value; } catch (Exception exception) { Logger.Warning(exception, "Something went wrong with: \"{IconUrl}\".", url); source = ErrorIcon.Value; } PART_Image.Source = source; PART_Loading.IsActive = false; }
private async Task SetImage(string url) { if (string.IsNullOrWhiteSpace(url)) { PART_Image.Source = null; PART_Loading.IsActive = false; return; } Uri uri; if (!Uri.TryCreate(url, UriKind.Absolute, out uri)) { Logger.Warning("Got an invalid img url: \"{IconUrl}\".", url); PART_Image.Source = ErrorIcon.Value; PART_Loading.IsActive = false; return; } PART_Loading.IsActive = true; var size = GetCurrentSize(); var expiration = DateTime.UtcNow + TimeSpan.FromDays(1); var imagePart = uri.Segments.Last(); var fileTypeSeperator = imagePart.LastIndexOf(".", StringComparison.InvariantCulture); BitmapSource source; if (fileTypeSeperator > 0 && imagePart.Substring(fileTypeSeperator + 1).Equals("svg", StringComparison.InvariantCultureIgnoreCase)) { source = (await LoadSvg(url, size.Width, size.Height, expiration)).ToNative(); } else { try { source = (await LoadImage(url, size.Width, size.Height, expiration)).ToNative(); } catch (HttpRequestException) { source = ErrorIcon.Value; } } PART_Image.Source = source; PART_Loading.IsActive = false; }
protected override async Task HandleInternal(object @event, long streamVersion) { switch (@event) { case BookStoreInitializedEvent ev: await Apply(ev, streamVersion); break; case BookStoreUpdatedEvent ev: await Apply(ev, streamVersion); break; default: _log.Warning("Unknown event type"); break; } }
public void Log(string category, LogLevel level, string msg, params object[] parameters) { var template = msg; if (!string.IsNullOrEmpty(category)) { template = string.Format("[{0}]: {1}", category, msg); } msg = string.Format(template, parameters); switch (level) { case LogLevel.Trace: _logger.Verbose(msg); break; case LogLevel.Debug: _logger.Debug(msg); break; case LogLevel.Info: _logger.Information(msg); break; case LogLevel.Warning: _logger.Warning(msg); break; case LogLevel.Error: _logger.Error(msg); break; case LogLevel.Critical: _logger.Fatal(msg); break; } }
/// <summary> /// Detects if the buildDll itself needs to be re-built. /// </summary> /// <returns></returns> bool IsOutOfDate() { if (Regex.IsMatch(buildDll.FileName(), "test", RegexOptions.IgnoreCase)) { Logger.Warning("test mode detected. Out of date check skipped."); return(false); } var sourceFiles = sourceDir.Glob("**") .Exclude("bin") .Exclude("obj") .Exclude(".vs"); var sourceChanged = sourceFiles.LastWriteTimeUtc(); var buildDllChanged = buildDll.LastWriteTimeUtc(); var maximalAge = TimeSpan.FromMinutes(60); return((sourceChanged > buildDllChanged) || (DateTime.UtcNow - buildDllChanged) > maximalAge); }
private static Policy CreateRetryPolicy(IConfiguration configuration, Serilog.ILogger logger) { // Only use a retry policy if configured to do so. // When running in an orchestrator/K8s, it will take care of restarting failed services. if (bool.TryParse(configuration["RetryMigrations"], out bool retryMigrations)) { return(Policy.Handle <Exception>(). WaitAndRetryForever( sleepDurationProvider: retry => TimeSpan.FromSeconds(5), onRetry: (exception, retry, timeSpan) => { logger.Warning( exception, "Exception {ExceptionType} with message {Message} detected during database migration (retry attempt {retry})", exception.GetType().Name, exception.Message, retry); } )); } return(Policy.NoOp()); }
private IBasePacket ParsePacket(byte[] data, PacketDirection direction) { var test = new OpCodePacket(new MemoryStream(data)); if (test.OpCode.Id1 == 0) { Logger.Error($"{direction}: Received Zero Length packet. Payload:{BitConverter.ToString(data)}"); return(null); } var packetList = direction == PacketDirection.ServerToClient ? GamePackets.ServerToClientPackets : GamePackets.ClientToServerPackets; var cp = packetList.Where(p => p.OpCode.Match(test.OpCode)).FirstOrDefault(); if (cp == null) { Logger.Warning($"{direction}: Unknown packet {test.OpCode.ToInfoString()} Data:{BitConverter.ToString(data)}"); return(null); } Logger.Information($"{direction}: Found Packet {test.OpCode.ToInfoString()} Type:{cp.Packet} Data:{BitConverter.ToString(data)}"); var packetInstane = Activator.CreateInstance(cp.Packet, new MemoryStream(data)) as IBasePacket; return(packetInstane); }
public void Log(LogEntry entry) { /* Logging abstraction handling */ if (entry.Severity == LoggingEventType.Debug) { _logger.Debug(entry.Exception, entry.Message); } if (entry.Severity == LoggingEventType.Information) { _logger.Information(entry.Exception, entry.Message); } else if (entry.Severity == LoggingEventType.Warning) { _logger.Warning(entry.Message, entry.Exception); } else if (entry.Severity == LoggingEventType.Error) { _logger.Error(entry.Message, entry.Exception); } else { _logger.Fatal(entry.Message, entry.Exception); } }
private static async Task RunMyParentDemo(IServiceProvider servProv, Serilog.ILogger lgr) { /* Create seed data for the EF Database. NOT for Production type of code */ MyParentDataGenerator.Initialize(servProv); IParentDemos demo = servProv.GetService <IParentDemos>(); ////await demo.PerformBasicCrudDemo(); ICollection <Exception> allExceptions = new List <Exception>(); try { await demo.PerformDemoIQueryableWithReusedPocoObject(); } catch (Exception ex) { /* this one is actually broken. * Oracle.ManagedDataAccess.Client.OracleException (0x80004005): ORA-00904: "t"."MY_PARENT_UUID": invalid identifier * * in the sql about 8 lines down: * The "t" table produces an alias "MyParentUuidFk" ( from the sql SELECT "i"."MY_PARENT_UUID" "MyParentUuidFk" ) * But it does not use the alias on the JOIN. * (sql = "chd"."MY_PARENT_UUID" = "t"."MY_PARENT_UUID" ) * The join sql should be: * "chd"."MY_PARENT_UUID" = "t"."MyParentUuidFk" */ /* * SELECT "par"."MY_PARENT_UUID", "par"."MY_PARENT_NAME", "par"."UPDATE_DATE_TS" * FROM "MYORACLESCHEMAONE"."MY_PARENT" "par" * WHERE EXISTS ( * SELECT 1 * FROM "MYORACLESCHEMAONE"."MY_CHILD" "chd" * INNER JOIN ( * SELECT "i"."MY_PARENT_UUID" "MyParentUuidFk", MAX("i"."UPDATE_DATE_TS") "UpdateDateStamp" * FROM "MYORACLESCHEMAONE"."MY_CHILD" "i" * GROUP BY "i"."MY_PARENT_UUID" * ) "t" * ON ("chd"."UPDATE_DATE_TS" = "t"."UPDATE_DATE_TS") AND ("chd"."MY_PARENT_UUID" = "t"."MY_PARENT_UUID") * WHERE ("chd"."MY_CHILD_MAGIC_STATUS" NOT IN (98, 99) AND ("t"."UPDATE_DATE_TS" < :cutOffDate_1)) AND ("chd"."MY_PARENT_UUID" = "par"."MY_PARENT_UUID")) OR NOT EXISTS ( * SELECT 1 * FROM "MYORACLESCHEMAONE"."MY_CHILD" "m" * WHERE "par"."MY_PARENT_UUID" = "m"."MY_PARENT_UUID") * ; * */ lgr.Warning(ex, "PerformDemoIQueryableWithReusedPocoObject FAILED"); Console.WriteLine(GenerateFullFlatMessage(ex)); allExceptions.Add(ex); } try { await demo.PerformDemoIQueryableWithPrivateClassHolderObject(); } catch (Exception ex) { /* no error here, BUT "not be translated */ /* * 2020-04-21 04:43:55.834 -04:00 [WRN] The LINQ expression 'where ([perParentMaxUpdateDate].MyPrivateClassMaxChildUpdateDateStamp < __cutOffDate_1)' could not be translated and will be evaluated locally. * 2020-04-21 04:43:55.841 -04:00 [WRN] The LINQ expression 'where ([chd].MyParentUuidFk == [par].MyParentKey)' could not be translated and will be evaluated locally. * 2020-04-21 04:43:55.851 -04:00 [WRN] The LINQ expression 'Any()' could not be translated and will be evaluated locally. * 2020-04-21 04:43:55.896 -04:00 [WRN] The LINQ expression 'where ({from MyChildEntity chd in value(Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable`1[MyCompany.MyExamples.EfPlaygroundOne.Domain.Entities.MyChildEntity]) join ChildMaxHolder perParentMaxUpdateDate in {from IGrouping`2 g in {value(Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable`1[MyCompany.MyExamples.EfPlaygroundOne.Domain.Entities.MyChildEntity]) => GroupBy([i].MyParentUuidFk, [i])} select new ChildMaxHolder() {MyPrivateClassParentUuid = [g].Key, MyPrivateClassMaxChildUpdateDateStamp = {from MyChildEntity row in [g] select [row].UpdateDateStamp => Max()}}} on new <>f__AnonymousType1`2(a = [chd].UpdateDateStamp, b = [chd].MyParentUuidFk) equals new <>f__AnonymousType1`2(a = [perParentMaxUpdateDate].MyPrivateClassMaxChildUpdateDateStamp, b = [perParentMaxUpdateDate].MyPrivateClassParentUuid) where (Not({__magicStatusValues_0 => Contains([chd].MyChildMagicStatus)}) AndAlso ([perParentMaxUpdateDate].MyPrivateClassMaxChildUpdateDateStamp < __cutOffDate_1)) where ([chd].MyParentUuidFk == [par].MyParentKey) select [chd] => Any()} OrElse Not({from MyChildEntity <generated>_2 in value(Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable`1[MyCompany.MyExamples.EfPlaygroundOne.Domain.Entities.MyChildEntity]) where ?= (Property([par], "MyParentKey") == Property([<generated>_2], "MyParentUuidFk")) =? select [<generated>_2] => Any()}))' could not be translated and will be evaluated locally. * 2020-04-21 04:43:55.903 -04:00 [WRN] The LINQ expression 'where ([perParentMaxUpdateDate].MyPrivateClassMaxChildUpdateDateStamp < __cutOffDate_1)' could not be translated and will be evaluated locally. * 2020-04-21 04:43:55.912 -04:00 [WRN] The LINQ expression 'where ([chd].MyParentUuidFk == [par].MyParentKey)' could not be translated and will be evaluated locally. * 2020-04-21 04:43:55.912 -04:00 [WRN] The LINQ expression 'Any()' could not be translated and will be evaluated locally. */ lgr.Warning(ex, "PerformDemoIQueryableWithPrivateClassHolderObject FAILED"); Console.WriteLine(GenerateFullFlatMessage(ex)); allExceptions.Add(ex); } try { await demo.PerformDemoIQueryableWithAnonymousClass(); } catch (Exception ex) { /* no error here, BUT "not be translated and will be evaluated locally" warnings in the log file */ /* * 2020-04-21 04:45:51.833 -04:00 [WRN] The LINQ expression 'where ([anonymousPerParentMaxUpdateDate].MyAnonymousMaxPerParentUpdateDateStamp < __cutOffDate_1)' could not be translated and will be evaluated locally. * 2020-04-21 04:45:51.851 -04:00 [WRN] The LINQ expression 'where ([chd].MyParentUuidFk == [par].MyParentKey)' could not be translated and will be evaluated locally. * 2020-04-21 04:45:51.863 -04:00 [WRN] The LINQ expression 'Any()' could not be translated and will be evaluated locally. * 2020-04-21 04:45:51.902 -04:00 [WRN] The LINQ expression 'where ({from MyChildEntity chd in value(Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable`1[MyCompany.MyExamples.EfPlaygroundOne.Domain.Entities.MyChildEntity]) join <>f__AnonymousType2`2 anonymousPerParentMaxUpdateDate in {from IGrouping`2 g in {value(Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable`1[MyCompany.MyExamples.EfPlaygroundOne.Domain.Entities.MyChildEntity]) => GroupBy([i].MyParentUuidFk, [i])} select new <>f__AnonymousType2`2(MyAnonymousMyParentUUID = [g].Key, MyAnonymousMaxPerParentUpdateDateStamp = {from MyChildEntity row in [g] select [row].UpdateDateStamp => Max()})} on new <>f__AnonymousType1`2(a = [chd].UpdateDateStamp, b = [chd].MyParentUuidFk) equals new <>f__AnonymousType1`2(a = [anonymousPerParentMaxUpdateDate].MyAnonymousMaxPerParentUpdateDateStamp, b = [anonymousPerParentMaxUpdateDate].MyAnonymousMyParentUUID) where (Not({__magicStatusValues_0 => Contains([chd].MyChildMagicStatus)}) AndAlso ([anonymousPerParentMaxUpdateDate].MyAnonymousMaxPerParentUpdateDateStamp < __cutOffDate_1)) where ([chd].MyParentUuidFk == [par].MyParentKey) select [chd] => Any()} OrElse Not({from MyChildEntity <generated>_2 in value(Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable`1[MyCompany.MyExamples.EfPlaygroundOne.Domain.Entities.MyChildEntity]) where ?= (Property([par], "MyParentKey") == Property([<generated>_2], "MyParentUuidFk")) =? select [<generated>_2] => Any()}))' could not be translated and will be evaluated locally. * 2020-04-21 04:45:51.906 -04:00 [WRN] The LINQ expression 'where ([anonymousPerParentMaxUpdateDate].MyAnonymousMaxPerParentUpdateDateStamp < __cutOffDate_1)' could not be translated and will be evaluated locally. * 2020-04-21 04:45:51.914 -04:00 [WRN] The LINQ expression 'where ([chd].MyParentUuidFk == [par].MyParentKey)' could not be translated and will be evaluated locally. * 2020-04-21 04:45:51.914 -04:00 [WRN] The LINQ expression 'Any()' could not be translated and will be evaluated locally. */ lgr.Warning(ex, "PerformDemoIQueryableWithAnonymousClass FAILED"); Console.WriteLine(GenerateFullFlatMessage(ex)); allExceptions.Add(ex); } if (allExceptions.Any()) { AggregateException aggex = new AggregateException("All Oracle.EF Exceptions", allExceptions); lgr.Error(aggex, aggex.Message); throw aggex; } }