示例#1
0
        public void AddAppenderRefToNode_ShouldSaveRef_WhenNoneExist()
        {
            XmlDocument xmlDoc        = new XmlDocument();
            XmlElement  loggerElement = xmlDoc.CreateElement("logger");

            const string appenderName = "appenderName";

            XmlUtilities.AddAppenderRefToNode(xmlDoc, loggerElement, appenderName);

            XmlNodeList appenderRefs = loggerElement.SelectNodes($"appender-ref[@ref='{appenderName}']");

            Assert.IsNotNull(appenderRefs);
            Assert.AreEqual(1, appenderRefs.Count);
        }
示例#2
0
        public void AddAppenderRefToNode_ShouldNotDuplicateExistingRef()
        {
            XmlDocument xmlDoc        = new XmlDocument();
            XmlElement  loggerElement = xmlDoc.CreateElement("logger");

            const string appenderName = "appenderName";

            xmlDoc.CreateElementWithAttribute("appender-ref", "ref", appenderName).AppendTo(loggerElement);

            XmlUtilities.AddAppenderRefToNode(xmlDoc, loggerElement, appenderName);

            XmlNodeList appenderRefs = loggerElement.SelectNodes($"appender-ref[@ref='{appenderName}']");

            Assert.IsNotNull(appenderRefs);
            Assert.AreEqual(1, appenderRefs.Count);
        }
        public override void Save(XmlDocument xmlDoc, XmlNode newNode)
        {
            foreach (IAcceptAppenderRef loggerModel in RefsCollection)
            {
                if (loggerModel.IsEnabled)
                {
                    if (mNameProperty.Changed.IsTrue())
                    {
                        RemoveOldRefsFrom(loggerModel, mNameProperty.OriginalName);
                    }

                    XmlUtilities.AddAppenderRefToNode(xmlDoc, loggerModel.Node, mNameProperty.Value);
                }
                else
                {
                    RemoveOldRefsFrom(loggerModel, mNameProperty.Changed.IsTrue() ? mNameProperty.OriginalName : mNameProperty.Value);
                }
            }
        }