private void ParseVariableElement(NLogXmlElement variableElement) { variableElement.AssertName("variable"); var name = variableElement.GetRequiredAttribute("name"); var value = ExpandVariables(variableElement.GetRequiredAttribute("value")); variables[name] = value; }
private Target WrapWithDefaultWrapper(Target t, NLogXmlElement defaultParameters) { var wrapperType = StripOptionalNamespacePrefix(defaultParameters.GetRequiredAttribute("type")); var wrapperTargetInstance = configurationItemFactory.Targets.CreateInstance(wrapperType); var wtb = wrapperTargetInstance as WrapperTargetBase; if (wtb == null) { throw new NLogConfigurationException("Target type specified on <default-wrapper /> is not a wrapper."); } ParseTargetElement(wrapperTargetInstance, defaultParameters); while (wtb.WrappedTarget != null) { wtb = wtb.WrappedTarget as WrapperTargetBase; if (wtb == null) { throw new NLogConfigurationException("Child target type specified on <default-wrapper /> is not a wrapper."); } } wtb.WrappedTarget = t; wrapperTargetInstance.Name = t.Name; t.Name = t.Name + "_wrapped"; InternalLogger.Debug("Wrapping target '{0}' with '{1}' and renaming to '{2}", wrapperTargetInstance.Name, wrapperTargetInstance.GetType().Name, t.Name); return(wrapperTargetInstance); }
private void ParseIncludeElement(NLogXmlElement includeElement, string baseDirectory) { includeElement.AssertName("include"); var newFileName = includeElement.GetRequiredAttribute("file"); try { newFileName = ExpandVariables(newFileName); newFileName = SimpleLayout.Evaluate(newFileName); if (baseDirectory != null) { newFileName = Path.Combine(baseDirectory, newFileName); } #if SILVERLIGHT newFileName = newFileName.Replace("\\", "/"); if (Application.GetResourceStream(new Uri(newFileName, UriKind.Relative)) != null) #else if (File.Exists(newFileName)) #endif { InternalLogger.Debug("Including file '{0}'", newFileName); ConfigureFromFile(newFileName); } else { throw new FileNotFoundException("Included file not found: " + newFileName); } } catch (Exception exception) { if (exception.MustBeRethrown()) { throw; } InternalLogger.Error("Error when including '{0}' {1}", newFileName, exception); if (includeElement.GetOptionalBooleanAttribute("ignoreErrors", false)) { return; } throw new NLogConfigurationException("Error when including: " + newFileName, exception); } }
private Target WrapWithDefaultWrapper(Target t, NLogXmlElement defaultParameters) { var wrapperType = StripOptionalNamespacePrefix(defaultParameters.GetRequiredAttribute("type")); var wrapperTargetInstance = configurationItemFactory.Targets.CreateInstance(wrapperType); var wtb = wrapperTargetInstance as WrapperTargetBase; if (wtb == null) { throw new NLogConfigurationException("Target type specified on <default-wrapper /> is not a wrapper."); } ParseTargetElement(wrapperTargetInstance, defaultParameters); while (wtb.WrappedTarget != null) { wtb = wtb.WrappedTarget as WrapperTargetBase; if (wtb == null) { throw new NLogConfigurationException("Child target type specified on <default-wrapper /> is not a wrapper."); } } wtb.WrappedTarget = t; wrapperTargetInstance.Name = t.Name; t.Name = t.Name + "_wrapped"; InternalLogger.Debug("Wrapping target '{0}' with '{1}' and renaming to '{2}", wrapperTargetInstance.Name, wrapperTargetInstance.GetType().Name, t.Name); return wrapperTargetInstance; }