コード例 #1
0
        protected void LoadLog(XmlScanner scanner)
        {
            List<LogLevelResolver> list;

            list = new List<LogLevelResolver>();
            if (!scanner.GetAttributeAsBoolean("reset", false))
            {
                LogLevelResolver[] remaining;

                remaining = this._manager.LogLevelResolvers;
                foreach (LogLevelResolver resolver in remaining)
                    list.Add(resolver);
            }
            foreach (XmlScanner child in scanner.Read())
            {
                if (!child.IsElement) continue;
                switch (child.Name)
                {
                    case "Pattern":
                        list.Add(this.ReadLogPattern(child));
                        break;
                    default:
                        throw scanner.CreateXmlException(
                            "unexpected element <{0}/> in <Log/>",
                            child.Name);
                }
            }
            this._manager.Update(list.ToArray());
        }