当前位置: 首页>>代码示例>>Java>>正文


Java OptionConverter.findAndSubst方法代码示例

本文整理汇总了Java中org.apache.log4j.helpers.OptionConverter.findAndSubst方法的典型用法代码示例。如果您正苦于以下问题:Java OptionConverter.findAndSubst方法的具体用法?Java OptionConverter.findAndSubst怎么用?Java OptionConverter.findAndSubst使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.log4j.helpers.OptionConverter的用法示例。


在下文中一共展示了OptionConverter.findAndSubst方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: parseErrorHandler

import org.apache.log4j.helpers.OptionConverter; //导入方法依赖的package包/类
private void parseErrorHandler(
  final ErrorHandler eh,
  final String errorHandlerPrefix,
  final Properties props, 
  final LoggerRepository hierarchy) {
boolean rootRef = OptionConverter.toBoolean(
			  OptionConverter.findAndSubst(errorHandlerPrefix + ROOT_REF, props), false);
if (rootRef) {
		  eh.setLogger(hierarchy.getRootLogger());
   }
String loggerName = OptionConverter.findAndSubst(errorHandlerPrefix + LOGGER_REF , props);
if (loggerName != null) {
	Logger logger = (loggerFactory == null) ? hierarchy.getLogger(loggerName)
	                : hierarchy.getLogger(loggerName, loggerFactory);
	eh.setLogger(logger);
}
String appenderName = OptionConverter.findAndSubst(errorHandlerPrefix + APPENDER_REF_TAG, props);
if (appenderName != null) {
	Appender backup = parseAppender(props, appenderName);
	if (backup != null) {
		eh.setBackupAppender(backup);
	}
}
}
 
开发者ID:DiamondLightSource,项目名称:daq-eclipse,代码行数:25,代码来源:PropertyConfigurator.java

示例2: configureRootCategory

import org.apache.log4j.helpers.OptionConverter; //导入方法依赖的package包/类
void configureRootCategory(Properties props, LoggerRepository hierarchy) {
   String effectiveFrefix = ROOT_LOGGER_PREFIX;
   String value = OptionConverter.findAndSubst(ROOT_LOGGER_PREFIX, props);

   if(value == null) {
     value = OptionConverter.findAndSubst(ROOT_CATEGORY_PREFIX, props);
     effectiveFrefix = ROOT_CATEGORY_PREFIX;
   }

   if(value == null)
     LogLog.debug("Could not find root logger information. Is this OK?");
   else {
     Logger root = hierarchy.getRootLogger();
     synchronized(root) {
parseCategory(props, root, effectiveFrefix, INTERNAL_ROOT_NAME, value);
     }
   }
 }
 
开发者ID:nologic,项目名称:nabs,代码行数:19,代码来源:PropertyConfigurator.java

示例3: doConfigure

import org.apache.log4j.helpers.OptionConverter; //导入方法依赖的package包/类
/**
    Read configuration options from <code>properties</code>.

    See {@link #doConfigure(String, LoggerRepository)} for the expected format.
 */
 public
 void doConfigure(Properties properties, LoggerRepository hierarchy) {
   String value = properties.getProperty(LogLog.DEBUG_KEY);
   if(value == null) {
     value = properties.getProperty("log4j.configDebug");
     if(value != null)
LogLog.warn("[log4j.configDebug] is deprecated. Use [log4j.debug] instead.");
   }

   if(value != null) {
     LogLog.setInternalDebugging(OptionConverter.toBoolean(value, true));
   }

     //
     //   if log4j.reset=true then
     //        reset hierarchy
   String reset = properties.getProperty(RESET_KEY);
   if (reset != null && OptionConverter.toBoolean(reset, false)) {
         hierarchy.resetConfiguration();
   }

   String thresholdStr = OptionConverter.findAndSubst(THRESHOLD_PREFIX,
					       properties);
   if(thresholdStr != null) {
     hierarchy.setThreshold(OptionConverter.toLevel(thresholdStr,
					     (Level) Level.ALL));
     LogLog.debug("Hierarchy threshold set to ["+hierarchy.getThreshold()+"].");
   }

   configureRootCategory(properties, hierarchy);
   configureLoggerFactory(properties);
   parseCatsAndRenderers(properties, hierarchy);

   LogLog.debug("Finished configuring.");
   // We don't want to hold references to appenders preventing their
   // garbage collection.
   registry.clear();
 }
 
开发者ID:cacheonix,项目名称:cacheonix-core,代码行数:44,代码来源:PropertyConfigurator.java

示例4: configureLoggerFactory

import org.apache.log4j.helpers.OptionConverter; //导入方法依赖的package包/类
/**
   Check the provided <code>Properties</code> object for a
   {@link org.apache.log4j.spi.LoggerFactory LoggerFactory}
   entry specified by {@link #LOGGER_FACTORY_KEY}.  If such an entry
   exists, an attempt is made to create an instance using the default
   constructor.  This instance is used for subsequent Category creations
   within this configurator.

   @see #parseCatsAndRenderers
 */
protected void configureLoggerFactory(Properties props) {
  String factoryClassName = OptionConverter.findAndSubst(LOGGER_FACTORY_KEY,
					   props);
  if(factoryClassName != null) {
    LogLog.debug("Setting category factory to ["+factoryClassName+"].");
    loggerFactory = (LoggerFactory)
         OptionConverter.instantiateByClassName(factoryClassName,
					 LoggerFactory.class,
					 loggerFactory);
    PropertySetter.setProperties(loggerFactory, props, FACTORY_PREFIX + ".");
  }
}
 
开发者ID:cacheonix,项目名称:cacheonix-core,代码行数:23,代码来源:PropertyConfigurator.java

示例5: parseCatsAndRenderers

import org.apache.log4j.helpers.OptionConverter; //导入方法依赖的package包/类
/**
    Parse non-root elements, such non-root categories and renderers.
 */
 protected
 void parseCatsAndRenderers(Properties props, LoggerRepository hierarchy) {
   Enumeration enumeration = props.propertyNames();
   while(enumeration.hasMoreElements()) {
     String key = (String) enumeration.nextElement();
     if(key.startsWith(CATEGORY_PREFIX) || key.startsWith(LOGGER_PREFIX)) {
String loggerName = null;
if(key.startsWith(CATEGORY_PREFIX)) {
  loggerName = key.substring(CATEGORY_PREFIX.length());
} else if(key.startsWith(LOGGER_PREFIX)) {
  loggerName = key.substring(LOGGER_PREFIX.length());
}
String value =  OptionConverter.findAndSubst(key, props);
Logger logger = hierarchy.getLogger(loggerName, loggerFactory);
synchronized(logger) {
  parseCategory(props, logger, key, loggerName, value);
  parseAdditivityForLogger(props, logger, loggerName);
}
     } else if(key.startsWith(RENDERER_PREFIX)) {
String renderedClass = key.substring(RENDERER_PREFIX.length());
String renderingClass = OptionConverter.findAndSubst(key, props);
if(hierarchy instanceof RendererSupport) {
  RendererMap.addRenderer((RendererSupport) hierarchy, renderedClass,
			  renderingClass);
}
     }
   }
 }
 
开发者ID:cacheonix,项目名称:cacheonix-core,代码行数:32,代码来源:PropertyConfigurator.java

示例6: parseAdditivityForLogger

import org.apache.log4j.helpers.OptionConverter; //导入方法依赖的package包/类
/**
   Parse the additivity option for a non-root category.
 */
void parseAdditivityForLogger(Properties props, Logger cat,
		  String loggerName) {
  String value = OptionConverter.findAndSubst(ADDITIVITY_PREFIX + loggerName,
			     props);
  LogLog.debug("Handling "+ADDITIVITY_PREFIX + loggerName+"=["+value+"]");
  // touch additivity only if necessary
  if((value != null) && (!value.equals(""))) {
    boolean additivity = OptionConverter.toBoolean(value, true);
    LogLog.debug("Setting additivity for \""+loggerName+"\" to "+
   additivity);
    cat.setAdditivity(additivity);
  }
}
 
开发者ID:cacheonix,项目名称:cacheonix-core,代码行数:17,代码来源:PropertyConfigurator.java

示例7: setProperties

import org.apache.log4j.helpers.OptionConverter; //导入方法依赖的package包/类
/**
    Set the properites for the object that match the
    <code>prefix</code> passed as parameter.

    
  */
 public
 void setProperties(Properties properties, String prefix) {
   int len = prefix.length();
   
   for (Enumeration e = properties.propertyNames(); e.hasMoreElements(); ) {
     String key = (String) e.nextElement();
     
     // handle only properties that start with the desired frefix.
     if (key.startsWith(prefix)) {


// ignore key if it contains dots after the prefix
       if (key.indexOf('.', len + 1) > 0) {
  //System.err.println("----------Ignoring---["+key
  //	     +"], prefix=["+prefix+"].");
  continue;
}
       
String value = OptionConverter.findAndSubst(key, properties);
       key = key.substring(len);
       if ("layout".equals(key) && obj instanceof Appender) {
         continue;
       }        
       setProperty(key, value);
     }
   }
   activate();
 }
 
开发者ID:cacheonix,项目名称:cacheonix-core,代码行数:35,代码来源:PropertySetter.java

示例8: doConfigure

import org.apache.log4j.helpers.OptionConverter; //导入方法依赖的package包/类
/**
    Read configuration options from <code>properties</code>.

    See {@link #doConfigure(String, LoggerRepository)} for the expected format.
 */
 public
 void doConfigure(Properties properties, LoggerRepository hierarchy) {
repository = hierarchy;
   String value = properties.getProperty(LogLog.DEBUG_KEY);
   if(value == null) {
     value = properties.getProperty("log4j.configDebug");
     if(value != null)
LogLog.warn("[log4j.configDebug] is deprecated. Use [log4j.debug] instead.");
   }

   if(value != null) {
     LogLog.setInternalDebugging(OptionConverter.toBoolean(value, true));
   }

     //
     //   if log4j.reset=true then
     //        reset hierarchy
   String reset = properties.getProperty(RESET_KEY);
   if (reset != null && OptionConverter.toBoolean(reset, false)) {
         hierarchy.resetConfiguration();
   }

   String thresholdStr = OptionConverter.findAndSubst(THRESHOLD_PREFIX,
					       properties);
   if(thresholdStr != null) {
     hierarchy.setThreshold(OptionConverter.toLevel(thresholdStr,
					     (Level) Level.ALL));
     LogLog.debug("Hierarchy threshold set to ["+hierarchy.getThreshold()+"].");
   }
   
   configureRootCategory(properties, hierarchy);
   configureLoggerFactory(properties);
   parseCatsAndRenderers(properties, hierarchy);

   LogLog.debug("Finished configuring.");
   // We don't want to hold references to appenders preventing their
   // garbage collection.
   registry.clear();
 }
 
开发者ID:DiamondLightSource,项目名称:daq-eclipse,代码行数:45,代码来源:PropertyConfigurator.java

示例9: doConfigure

import org.apache.log4j.helpers.OptionConverter; //导入方法依赖的package包/类
/**
    Read configuration options from <code>properties</code>.

    See {@link #doConfigure(String, LoggerRepository)} for the expected format.
 */
 public
 void doConfigure(Properties properties, LoggerRepository hierarchy) {

   String value = properties.getProperty(LogLog.DEBUG_KEY);
   if(value == null) {
     value = properties.getProperty(LogLog.CONFIG_DEBUG_KEY);
     if(value != null)
LogLog.warn("[log4j.configDebug] is deprecated. Use [log4j.debug] instead.");
   }

   if(value != null) {
     LogLog.setInternalDebugging(OptionConverter.toBoolean(value, true));
   }

   String thresholdStr = OptionConverter.findAndSubst(THRESHOLD_PREFIX,
					       properties);
   if(thresholdStr != null) {
     hierarchy.setThreshold(OptionConverter.toLevel(thresholdStr,
					     (Level) Level.ALL));
     LogLog.debug("Hierarchy threshold set to ["+hierarchy.getThreshold()+"].");
   }

   configureRootCategory(properties, hierarchy);
   configureLoggerFactory(properties);
   parseCatsAndRenderers(properties, hierarchy);

   LogLog.debug("Finished configuring.");
   // We don't want to hold references to appenders preventing their
   // garbage collection.
   registry.clear();
 }
 
开发者ID:nologic,项目名称:nabs,代码行数:37,代码来源:PropertyConfigurator.java

示例10: parseCatsAndRenderers

import org.apache.log4j.helpers.OptionConverter; //导入方法依赖的package包/类
/**
    Parse non-root elements, such non-root categories and renderers.
 */
 protected
 void parseCatsAndRenderers(Properties props, LoggerRepository hierarchy) {
   Enumeration enumeration = props.propertyNames();
   while(enumeration.hasMoreElements()) {
     String key = (String) enumeration.nextElement();
     if(key.startsWith(CATEGORY_PREFIX) || key.startsWith(LOGGER_PREFIX)) {
String loggerName = null;
if(key.startsWith(CATEGORY_PREFIX)) {
  loggerName = key.substring(CATEGORY_PREFIX.length());
} else if(key.startsWith(LOGGER_PREFIX)) {
  loggerName = key.substring(LOGGER_PREFIX.length());
}
String value =  OptionConverter.findAndSubst(key, props);
Logger logger = hierarchy.getLogger(loggerName, loggerFactory);
synchronized(logger) {
  parseCategory(props, logger, key, loggerName, value);
  parseAdditivityForLogger(props, logger, loggerName);
}
     } else if(key.startsWith(RENDERER_PREFIX)) {
String renderedClass = key.substring(RENDERER_PREFIX.length());
String renderingClass = OptionConverter.findAndSubst(key, props);
if(hierarchy instanceof RendererSupport) {
  RendererMap.addRenderer((RendererSupport) hierarchy, renderedClass,
			  renderingClass);
}
     } else if (key.equals(THROWABLE_RENDERER_PREFIX)) {
         if (hierarchy instanceof ThrowableRendererSupport) {
           ThrowableRenderer tr = (ThrowableRenderer)
                 OptionConverter.instantiateByKey(props,
                         THROWABLE_RENDERER_PREFIX,
                         org.apache.log4j.spi.ThrowableRenderer.class,
                         null);
           if(tr == null) {
               LogLog.error(
                   "Could not instantiate throwableRenderer.");
           } else {
               PropertySetter setter = new PropertySetter(tr);
               setter.setProperties(props, THROWABLE_RENDERER_PREFIX + ".");
               ((ThrowableRendererSupport) hierarchy).setThrowableRenderer(tr);

           }
         }
     }
   }
 }
 
开发者ID:DiamondLightSource,项目名称:daq-eclipse,代码行数:49,代码来源:PropertyConfigurator.java

示例11: parseAppender

import org.apache.log4j.helpers.OptionConverter; //导入方法依赖的package包/类
Appender parseAppender(Properties props, String appenderName) {
   Appender appender = registryGet(appenderName);
   if((appender != null)) {
     LogLog.debug("Appender \"" + appenderName + "\" was already parsed.");
     return appender;
   }
   // Appender was not previously initialized.
   String prefix = APPENDER_PREFIX + appenderName;
   String layoutPrefix = prefix + ".layout";

   appender = (Appender) OptionConverter.instantiateByKey(props, prefix,
				      org.apache.log4j.Appender.class,
				      null);
   if(appender == null) {
     LogLog.error(
             "Could not instantiate appender named \"" + appenderName+"\".");
     return null;
   }
   appender.setName(appenderName);

   if(appender instanceof OptionHandler) {
     if(appender.requiresLayout()) {
Layout layout = (Layout) OptionConverter.instantiateByKey(props,
							  layoutPrefix,
							  Layout.class,
							  null);
if(layout != null) {
  appender.setLayout(layout);
  LogLog.debug("Parsing layout options for \"" + appenderName +"\".");
  //configureOptionHandler(layout, layoutPrefix + ".", props);
         PropertySetter.setProperties(layout, props, layoutPrefix + ".");
  LogLog.debug("End of parsing for \"" + appenderName +"\".");
}
     }
     final String errorHandlerPrefix = prefix + ".errorhandler";
     String errorHandlerClass = OptionConverter.findAndSubst(errorHandlerPrefix, props);
     if (errorHandlerClass != null) {
   		ErrorHandler eh = (ErrorHandler) OptionConverter.instantiateByKey(props,
				  errorHandlerPrefix,
				  ErrorHandler.class,
				  null);
   		if (eh != null) {
   			  appender.setErrorHandler(eh);
   			  LogLog.debug("Parsing errorhandler options for \"" + appenderName +"\".");
   			  parseErrorHandler(eh, errorHandlerPrefix, props, repository);
   			  final Properties edited = new Properties();
   			  final String[] keys = new String[] { 
   					  errorHandlerPrefix + "." + ROOT_REF,
   					  errorHandlerPrefix + "." + LOGGER_REF,
   					  errorHandlerPrefix + "." + APPENDER_REF_TAG
   			  };
   			  for(Iterator iter = props.entrySet().iterator();iter.hasNext();) {
   				  Map.Entry entry = (Map.Entry) iter.next();
   				  int i = 0;
   				  for(; i < keys.length; i++) {
   					  if(keys[i].equals(entry.getKey())) break;
   				  }
   				  if (i == keys.length) {
   					  edited.put(entry.getKey(), entry.getValue());
   				  }
   			  }
   		      PropertySetter.setProperties(eh, edited, errorHandlerPrefix + ".");
   			  LogLog.debug("End of errorhandler parsing for \"" + appenderName +"\".");
   		}
   	  
     }
     //configureOptionHandler((OptionHandler) appender, prefix + ".", props);
     PropertySetter.setProperties(appender, props, prefix + ".");
     LogLog.debug("Parsed \"" + appenderName +"\" options.");
   }
   parseAppenderFilters(props, appenderName, appender);
   registryPut(appender);
   return appender;
 }
 
开发者ID:DiamondLightSource,项目名称:daq-eclipse,代码行数:75,代码来源:PropertyConfigurator.java


注:本文中的org.apache.log4j.helpers.OptionConverter.findAndSubst方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。