Beispiel #1
0
 internal TraceSourceInfo(string name, SourceLevels levels, TraceImplSettings settings)
 {
     this.name      = name;
     this.levels    = levels;
     this.listeners = new TraceListenerCollection(false);
     this.listeners.Add(new DefaultTraceListener(), settings);
 }
Beispiel #2
0
		internal TraceSourceInfo (string name, SourceLevels levels, TraceImplSettings settings)
		{
			this.name = name;
			this.levels = levels;
			this.listeners = new TraceListenerCollection ();
			this.listeners.Add (new DefaultTraceListener() { IndentSize = settings.IndentSize });
		}
		internal TraceSourceInfo (string name, SourceLevels levels, TraceImplSettings settings)
		{
			this.name = name;
			this.levels = levels;
			this.listeners = new TraceListenerCollection (false);
			this.listeners.Add (new DefaultTraceListener(), settings);
		}
 internal TraceSourceInfo(string name, SourceLevels levels, TraceImplSettings settings)
 {
     this.name      = name;
     this.levels    = levels;
     this.listeners = new TraceListenerCollection();
     this.listeners.Add(new DefaultTraceListener()
     {
         IndentSize = settings.IndentSize
     });
 }
Beispiel #5
0
 private static void InitOnce()
 {
     if (initLock != null)
     {
         lock (initLock)
         {
             if (listeners == null)
             {
                 TraceImplSettings traceImplSettings = new TraceImplSettings();
                 autoFlush   = traceImplSettings.AutoFlush;
                 indentLevel = traceImplSettings.IndentLevel;
                 indentSize  = traceImplSettings.IndentSize;
                 listeners   = traceImplSettings.Listeners;
             }
         }
         initLock = null;
     }
 }
Beispiel #6
0
 private static void InitOnce()
 {
     if (TraceImpl.initLock != null)
     {
         object obj = TraceImpl.initLock;
         lock (obj)
         {
             if (TraceImpl.listeners == null)
             {
                 TraceImplSettings traceImplSettings = new TraceImplSettings();
                 TraceImpl.autoFlush   = traceImplSettings.AutoFlush;
                 TraceImpl.indentLevel = traceImplSettings.IndentLevel;
                 TraceImpl.indentSize  = traceImplSettings.IndentSize;
                 TraceImpl.listeners   = traceImplSettings.Listeners;
             }
         }
         TraceImpl.initLock = null;
     }
 }
Beispiel #7
0
        // Initialize the world.
        //
        // This logically belongs in the static constructor (as it only needs
        // to be done once), except for one thing: if the .config file has a
        // syntax error, .NET throws a ConfigurationException.  If we read the
        // .config file in the static ctor, we throw a ConfigurationException
        // from the static ctor, which results in a TypeLoadException.  Oops.
        // Reading the .config file here will allow the static ctor to
        // complete successfully, allowing us to throw a normal
        // ConfigurationException should the .config file contain an error.
        //
        // There are also some ordering issues.
        //
        // DiagnosticsConfigurationHandler doesn't store values within TraceImpl,
        // but instead stores values it reads from the .config file within a
        // TraceImplSettings object (accessible via the TraceImplSettings.Key key
        // in the IDictionary returned).
        private static void InitOnce()
        {
            if (initLock != null)
            {
                lock (initLock) {
                    if (listeners == null)
                    {
                        IDictionary       d = DiagnosticsConfiguration.Settings;
                        TraceImplSettings s = (TraceImplSettings)d [TraceImplSettings.Key];

                        d.Remove(TraceImplSettings.Key);

                        autoFlush   = s.AutoFlush;
                        indentLevel = s.IndentLevel;
                        indentSize  = s.IndentSize;
                        listeners   = s.Listeners;
                    }
                }
                initLock = null;
            }
        }
		public virtual object Create (object parent, object configContext, XmlNode section)
		{
			IDictionary d;
			if (parent == null)
				d = new Hashtable (CaseInsensitiveHashCodeProvider.Default, CaseInsensitiveComparer.Default);
			else
				d = (IDictionary) ((ICloneable)parent).Clone();

			if (d.Contains (TraceImplSettings.Key))
				configValues = (TraceImplSettings) d [TraceImplSettings.Key];
			else
				d.Add (TraceImplSettings.Key, configValues = new TraceImplSettings ());

#if NET_2_0
			// process <sharedListeners> first
			foreach (XmlNode child in section.ChildNodes) {
				switch (child.NodeType) {
				case XmlNodeType.Element:
					if (child.LocalName != "sharedListeners")
						continue;
					AddTraceListeners (d, child, GetSharedListeners (d));
					break;
				}
			}
#endif

			foreach (XmlNode child in section.ChildNodes) {
				XmlNodeType type = child.NodeType;

				switch (type) {
				/* ignore */
				case XmlNodeType.Whitespace:
				case XmlNodeType.Comment:
					continue;
				case XmlNodeType.Element:
#if NET_2_0
					if (child.LocalName == "sharedListeners")
						continue;
#endif
					ElementHandler eh = (ElementHandler) elementHandlers [child.Name];
					if (eh != null)
						eh (d, child);
					else
						ThrowUnrecognizedElement (child);
					break;
				default:
					ThrowUnrecognizedElement (child);
					break;
				}
			}

			return d;
		}
Beispiel #9
0
 internal void Add(TraceListener listener, TraceImplSettings settings)
 {
     listener.IndentLevel = settings.IndentLevel;
     listener.IndentSize  = settings.IndentSize;
     listeners.Add(listener);
 }
		internal void Add (TraceListener listener, TraceImplSettings settings)
		{
//			listener.IndentLevel = settings.IndentLevel;
			listener.IndentSize  = settings.IndentSize;
			listeners.Add (listener);
		}
        public virtual object Create(object parent, object configContext, XmlNode section)
        {
            IDictionary d;

            if (parent == null)
            {
                d = new Hashtable(CaseInsensitiveHashCodeProvider.Default, CaseInsensitiveComparer.Default);
            }
            else
            {
                d = (IDictionary)((ICloneable)parent).Clone();
            }

            if (d.Contains(TraceImplSettings.Key))
            {
                configValues = (TraceImplSettings)d [TraceImplSettings.Key];
            }
            else
            {
                d.Add(TraceImplSettings.Key, configValues = new TraceImplSettings());
            }

            // process <sharedListeners> first
            foreach (XmlNode child in section.ChildNodes)
            {
                switch (child.NodeType)
                {
                case XmlNodeType.Element:
                    if (child.LocalName != "sharedListeners")
                    {
                        continue;
                    }
                    AddTraceListeners(d, child, GetSharedListeners(d));
                    break;
                }
            }

            foreach (XmlNode child in section.ChildNodes)
            {
                XmlNodeType type = child.NodeType;

                switch (type)
                {
                /* ignore */
                case XmlNodeType.Whitespace:
                case XmlNodeType.Comment:
                    continue;

                case XmlNodeType.Element:
                    if (child.LocalName == "sharedListeners")
                    {
                        continue;
                    }
                    ElementHandler eh = (ElementHandler)elementHandlers [child.Name];
                    if (eh != null)
                    {
                        eh(d, child);
                    }
                    else
                    {
                        ThrowUnrecognizedElement(child);
                    }
                    break;

                default:
                    ThrowUnrecognizedElement(child);
                    break;
                }
            }

            return(d);
        }