Exemplo n.º 1
0
 /// <summary>
 /// Parses the children of a logger element.
 /// </summary>
 /// <param name="catElement">The category element.</param>
 /// <param name="log">The logger instance.</param>
 /// <param name="isRoot">Flag to indicate if the logger is the root logger.</param>
 /// <remarks>
 /// <para>
 /// Parse the child elements of a &lt;logger&gt; element.
 /// </para>
 /// </remarks>
 protected void ParseChildrenOfLoggerElement(XmlElement catElement, Logger log, bool isRoot)
 {
     log.RemoveAllAppenders();
     foreach (XmlNode childNode in catElement.ChildNodes)
     {
         if (childNode.NodeType == XmlNodeType.Element)
         {
             XmlElement xmlElement = (XmlElement)childNode;
             if (xmlElement.LocalName == "appender-ref")
             {
                 IAppender appender  = FindAppenderByReference(xmlElement);
                 string    attribute = xmlElement.GetAttribute("ref");
                 if (appender != null)
                 {
                     LogLog.Debug(declaringType, "Adding appender named [" + attribute + "] to logger [" + log.Name + "].");
                     log.AddAppender(appender);
                 }
                 else
                 {
                     LogLog.Error(declaringType, "Appender named [" + attribute + "] not found.");
                 }
             }
             else if (xmlElement.LocalName == "level" || xmlElement.LocalName == "priority")
             {
                 ParseLevel(xmlElement, log, isRoot);
             }
             else
             {
                 SetParameter(xmlElement, log);
             }
         }
     }
     (log as IOptionHandler)?.ActivateOptions();
 }
Exemplo n.º 2
0
 public void ShutdownLogger()
 {
     LogManager.Flush(5000);
     log4net.Repository.Hierarchy.Logger l = (log4net.Repository.Hierarchy.Logger)LogManager.GetLogger(_repository, _name).Logger;
     l.RemoveAllAppenders();
     LogManager.GetLogger(_repository, _name).Logger.Repository.Shutdown();
 }
Exemplo n.º 3
0
 private static void CreateLogger(FileAppender fileAppender, string loggerName)
 {
     log4net.Repository.Hierarchy.Hierarchy hierarchy = (log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetLoggerRepository();
     log4net.Repository.Hierarchy.Logger    logger    = (log4net.Repository.Hierarchy.Logger)hierarchy.GetLogger(APPENDER_NAME);
     logger.RemoveAllAppenders();
     logger.AddAppender(fileAppender);
     hierarchy.Configured = true;
 }
Exemplo n.º 4
0
        protected void ParseChildrenOfLoggerElement(XmlElement catElement, Logger log, bool isRoot)
        {
            log.RemoveAllAppenders();
            IEnumerator enumerator = catElement.ChildNodes.GetEnumerator();

            try
            {
                while (enumerator.MoveNext())
                {
                    XmlNode current = (XmlNode)enumerator.Current;
                    if (current.NodeType == XmlNodeType.Element)
                    {
                        XmlElement element = (XmlElement)current;
                        if (element.LocalName != "appender-ref")
                        {
                            if ((element.LocalName != "level") && (element.LocalName != "priority"))
                            {
                                this.SetParameter(element, log);
                                continue;
                            }
                            this.ParseLevel(element, log, isRoot);
                            continue;
                        }
                        IAppender newAppender = this.FindAppenderByReference(element);
                        string    attribute   = element.GetAttribute("ref");
                        if (newAppender == null)
                        {
                            LogLog.Error(declaringType, "Appender named [" + attribute + "] not found.");
                            continue;
                        }
                        string[] textArray1 = new string[] { "Adding appender named [", attribute, "] to logger [", log.Name, "]." };
                        LogLog.Debug(declaringType, string.Concat(textArray1));
                        log.AddAppender(newAppender);
                    }
                }
            }
            finally
            {
                IDisposable disposable = enumerator as IDisposable;
                if (disposable != null)
                {
                    disposable.Dispose();
                }
            }
            IOptionHandler handler = log as IOptionHandler;

            if (handler != null)
            {
                handler.ActivateOptions();
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Parses the children of a logger element.
        /// </summary>
        /// <param name="catElement">The category element.</param>
        /// <param name="log">The logger instance.</param>
        /// <param name="isRoot">Flag to indicate if the logger is the root logger.</param>
        /// <remarks>
        /// <para>
        /// Parse the child elements of a &lt;logger&gt; element.
        /// </para>
        /// </remarks>
        protected void ParseChildrenOfLoggerElement(XmlElement catElement, Logger log, bool isRoot)
        {
            // Remove all existing appenders from log. They will be
            // reconstructed if need be.
            log.RemoveAllAppenders();

            foreach (XmlNode currentNode in catElement.ChildNodes)
            {
                if (currentNode.NodeType == XmlNodeType.Element)
                {
                    XmlElement currentElement = (XmlElement)currentNode;

                    if (currentElement.LocalName == APPENDER_REF_TAG)
                    {
                        IAppender appender = FindAppenderByReference(currentElement);
                        string    refName  = currentElement.GetAttribute(REF_ATTR);



                        if (appender != null)
                        {
                            LogLog.Debug(declaringType, "Adding appender named [" + refName + "] to logger [" + log.Name + "].");
                            log.AddAppender(appender);
                        }
                        else
                        {
                            LogLog.Error(declaringType, "Appender named [" + refName + "] not found.");
                        }
                    }
                    else if (currentElement.LocalName == LEVEL_TAG || currentElement.LocalName == PRIORITY_TAG)
                    {
                        ParseLevel(currentElement, log, isRoot);
                    }
                    else
                    {
                        SetParameter(currentElement, log);
                    }
                }
            }

            IOptionHandler optionHandler = log as IOptionHandler;

            if (optionHandler != null)
            {
                optionHandler.ActivateOptions();
            }
        }
		/// <summary>
		/// Parses the children of a logger element.
		/// </summary>
		/// <param name="catElement">The category element.</param>
		/// <param name="log">The logger instance.</param>
		/// <param name="isRoot">Flag to indicate if the logger is the root logger.</param>
		/// <remarks>
		/// <para>
		/// Parse the child elements of a &lt;logger&gt; element.
		/// </para>
		/// </remarks>
		protected void ParseChildrenOfLoggerElement(XmlElement catElement, Logger log, bool isRoot) 
		{
			// Remove all existing appenders from log. They will be
			// reconstructed if need be.
			log.RemoveAllAppenders();

			foreach (XmlNode currentNode in catElement.ChildNodes)
			{
				if (currentNode.NodeType == XmlNodeType.Element) 
				{
					XmlElement currentElement = (XmlElement) currentNode;
	
					if (currentElement.LocalName == APPENDER_REF_TAG)
					{
						IAppender appender = FindAppenderByReference(currentElement);
						string refName =  currentElement.GetAttribute(REF_ATTR);
						if (appender != null)
						{
							LogLog.Debug(declaringType, "Adding appender named [" + refName + "] to logger [" + log.Name + "].");
							log.AddAppender(appender);
						}
						else 
						{
							LogLog.Error(declaringType, "Appender named [" + refName + "] not found.");
						}
					} 
					else if (currentElement.LocalName == LEVEL_TAG || currentElement.LocalName == PRIORITY_TAG) 
					{
						ParseLevel(currentElement, log, isRoot);	
					} 
					else
					{
						SetParameter(currentElement, log);
					}
				}
			}

			IOptionHandler optionHandler = log as IOptionHandler;
			if (optionHandler != null) 
			{
				optionHandler.ActivateOptions();
			}
		}
Exemplo n.º 7
0
 /// <summary>
 /// Sets the Appender that the ADK will use for logging.
 /// </summary>
 /// <param name="logger"></param>
 /// <param name="appender"></param>
 /// <param name="level"></param>
 private static void SetLogAppender(Logger logger,
                                     IAppender appender,
                                     Level level)
 {
     if (logger != null)
     {
         logger.RemoveAllAppenders();
         logger.AddAppender(appender);
         logger.Repository.Threshold = level;
         logger.Repository.Configured = true;
     }
     else
     {
         throw new AdkException
             ("Unable to initialize log4net framework, ADK Logger is null", null);
     }
 }