/// <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 <logger> 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(); }
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(); }
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; }
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(); } }
/// <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 <logger> 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 <logger> 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> /// 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); } }