From be4374a2b2de7a7504ba0b31fdb5d20ef0be9155 Mon Sep 17 00:00:00 2001 From: Rolf Kristensen Date: Thu, 30 Jan 2025 20:21:23 +0100 Subject: [PATCH] SimpleLayout - FromString avoid first chance exception when unknown layoutrenderer-type --- src/NLog/Layouts/LayoutParser.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/NLog/Layouts/LayoutParser.cs b/src/NLog/Layouts/LayoutParser.cs index 5935dfa58e..746d64512c 100644 --- a/src/NLog/Layouts/LayoutParser.cs +++ b/src/NLog/Layouts/LayoutParser.cs @@ -588,7 +588,15 @@ private static LayoutRenderer GetLayoutRenderer(string typeName, ConfigurationIt try { - layoutRenderer = configurationItemFactory.LayoutRendererFactory.CreateInstance(typeName); + if (throwConfigExceptions == false && !configurationItemFactory.LayoutRendererFactory.TryCreateInstance(typeName, out layoutRenderer)) + { + InternalLogger.Debug("Failed to create LayoutRenderer with unknown type-alias: '{0}'", typeName); + return new LiteralLayoutRenderer(string.Empty); // replace with empty values + } + else + { + layoutRenderer = configurationItemFactory.LayoutRendererFactory.CreateInstance(typeName); + } } catch (NLogConfigurationException ex) {