类org.apache.log4j.spi.LoggerFactory源码实例Demo

下面列出了怎么用org.apache.log4j.spi.LoggerFactory的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: cacheonix-core   文件: PropertyConfigurator.java
/**
   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 + ".");
  }
}
 
源代码2 项目: cacheonix-core   文件: LogManager.java
/**
   Retrieve the appropriate {@link Logger} instance.  
*/
public
static 
Logger getLogger(final String name, final LoggerFactory factory) {
   // Delegate the actual manufacturing of the logger to the logger repository.
  return getLoggerRepository().getLogger(name, factory);
}
 
源代码3 项目: cacheonix-core   文件: Hierarchy.java
/**
    Return a new logger instance named as the first parameter using
    <code>factory</code>.

    <p>If a logger of that name already exists, then it will be
    returned.  Otherwise, a new logger will be instantiated by the
    <code>factory</code> parameter and linked with its existing
    ancestors as well as children.

    @param name The name of the logger to retrieve.
    @param factory The factory that will make the new logger instance.

*/
 public
 Logger getLogger(String name, LoggerFactory factory) {
   //System.out.println("getInstance("+name+") called.");
   CategoryKey key = new CategoryKey(name);
   // Synchronize to prevent write conflicts. Read conflicts (in
   // getChainedLevel method) are possible only if variable
   // assignments are non-atomic.
   Logger logger;

   synchronized(ht) {
     Object o = ht.get(key);
     if(o == null) {
logger = factory.makeNewLoggerInstance(name);
logger.setHierarchy(this);
ht.put(key, logger);
updateParents(logger);
return logger;
     } else if(o instanceof Logger) {
return (Logger) o;
     } else if (o instanceof ProvisionNode) {
//System.out.println("("+name+") ht.get(this) returned ProvisionNode");
logger = factory.makeNewLoggerInstance(name);
logger.setHierarchy(this);
ht.put(key, logger);
updateChildren((ProvisionNode) o, logger);
updateParents(logger);
return logger;
     }
     else {
// It should be impossible to arrive here
return null;  // but let's keep the compiler happy.
     }
   }
 }
 
源代码4 项目: syslog4j   文件: Log4jSyslogBackLogHandler.java
public Log4jSyslogBackLogHandler(String loggerName, LoggerFactory loggerFactory) {
	if (loggerName == null) {
		throw new SyslogRuntimeException("loggerName cannot be null");
	}
	
	if (loggerFactory == null) {
		throw new SyslogRuntimeException("loggerFactory cannot be null");
	}
	
	this.logger = Logger.getLogger(loggerName,loggerFactory);

	initialize();
}
 
源代码5 项目: syslog4j   文件: Log4jSyslogBackLogHandler.java
public Log4jSyslogBackLogHandler(String loggerName, LoggerFactory loggerFactory, boolean appendReason) {
	if (loggerName == null) {
		throw new SyslogRuntimeException("loggerName cannot be null");
	}
	
	if (loggerFactory == null) {
		throw new SyslogRuntimeException("loggerFactory cannot be null");
	}
	
	this.logger = Logger.getLogger(loggerName,loggerFactory);
	this.appendReason = appendReason;

	initialize();
}
 
源代码6 项目: olat   文件: ThreadLocalLogLevelManager.java
public ThreadLocalAwareLoggerRepository(Logger originalRoot, LoggerRepository parentRepository, LoggerFactory loggerFactory) {
    super(originalRoot);
    if (loggerFactory == null) {
        throw new IllegalArgumentException("loggerFactory must not be null");
    }
    loggerFactory_ = loggerFactory;

    parentLoggerRepository_ = parentRepository;
}
 
源代码7 项目: olat   文件: ThreadLocalLogLevelManager.java
@Override
public Logger getLogger(String name, @SuppressWarnings("unused") LoggerFactory factory) {
    Logger existingLogger = parentLoggerRepository_.exists(name);
    if (existingLogger != null) {
        // Returning the original logger here - note that this will prevent certain loggers from being
        // taken under ThreadLocalAwareLogger's control - hence any logger created before
        // ThreadLocalLogLevelManager.install() will not be redirected!
        return existingLogger;
    } else {
        return super.getLogger(name, loggerFactory_);
    }
}
 
源代码8 项目: olat   文件: ThreadLocalLogLevelManager.java
/**
 * Installs the ThreadLogManager in this system.
 * <p>
 * Note that this can fail if some other framework has done a call to LogManager.setRepositorySelector with a guard already.
 * 
 * @param logMessageModifier
 *            optional implementation of LogMessageModifier which allows messages to be modified should they be affected by a threadlocal loglevel overwrite. This
 *            allows for example for messages to be prepended with a token so that they can be easier found in the log
 */
void install(final LogMessageModifier logMessageModifier) {

    try {
        final LoggerFactory loggerFactory = new LoggerFactory() {

            @SuppressWarnings("synthetic-access")
            @Override
            public Logger makeNewLoggerInstance(String name) {
                return new ThreadLocalAwareLogger(name, threadLocalLogLevel_, logMessageModifier);
            }
        };

        final Logger originalRootLogger = LogManager.getRootLogger();

        final LoggerRepository parentRepository = originalRootLogger.getLoggerRepository();

        final LoggerRepository repository = new ThreadLocalAwareLoggerRepository(originalRootLogger, parentRepository, loggerFactory);

        LogManager.setRepositorySelector(new RepositorySelector() {

            @Override
            public LoggerRepository getLoggerRepository() {
                return repository;
            }
        }, guard);
    } catch (IllegalArgumentException re) {
        // thrown by LogManager.setRepositorySelector
        log.error("Could not install ThreadLocalLogLevelManager", re);
    }

}
 
源代码9 项目: olat   文件: ThreadLocalLogLevelManager.java
public ThreadLocalAwareLoggerRepository(Logger originalRoot, LoggerRepository parentRepository, LoggerFactory loggerFactory) {
    super(originalRoot);
    if (loggerFactory == null) {
        throw new IllegalArgumentException("loggerFactory must not be null");
    }
    loggerFactory_ = loggerFactory;

    parentLoggerRepository_ = parentRepository;
}
 
源代码10 项目: olat   文件: ThreadLocalLogLevelManager.java
@Override
public Logger getLogger(String name, LoggerFactory factory) {
    Logger existingLogger = parentLoggerRepository_.exists(name);
    if (existingLogger != null) {
        // Returning the original logger here - note that this will prevent certain loggers from being
        // taken under ThreadLocalAwareLogger's control - hence any logger created before
        // ThreadLocalLogLevelManager.install() will not be redirected!
        return existingLogger;
    } else {
        return super.getLogger(name, loggerFactory_);
    }
}
 
源代码11 项目: olat   文件: ThreadLocalLogLevelManager.java
/**
 * Installs the ThreadLogManager in this system.
 * <p>
 * Note that this can fail if some other framework has done a call to LogManager.setRepositorySelector with a guard already.
 * 
 * @param logMessageModifier
 *            optional implementation of LogMessageModifier which allows messages to be modified should they be affected by a threadlocal loglevel overwrite. This
 *            allows for example for messages to be prepended with a token so that they can be easier found in the log
 */
void install(final LogMessageModifier logMessageModifier) {

    try {
        final LoggerFactory loggerFactory = new LoggerFactory() {

            @SuppressWarnings("synthetic-access")
            @Override
            public Logger makeNewLoggerInstance(String name) {
                return new ThreadLocalAwareLogger(name, threadLocalLogLevel_, logMessageModifier);
            }
        };

        final Logger originalRootLogger = LogManager.getRootLogger();

        final LoggerRepository parentRepository = originalRootLogger.getLoggerRepository();

        final LoggerRepository repository = new ThreadLocalAwareLoggerRepository(originalRootLogger, parentRepository, loggerFactory);

        LogManager.setRepositorySelector(new RepositorySelector() {

            @Override
            public LoggerRepository getLoggerRepository() {
                return repository;
            }
        }, guard);
    } catch (IllegalArgumentException re) {
        // thrown by LogManager.setRepositorySelector
        log.error("Could not install ThreadLocalLogLevelManager", re);
    }

}
 
源代码12 项目: intellij-haxe   文件: HaxeDebugLogger.java
public static HaxeDebugLogger getLogger(String name, LoggerFactory factory) {
  Logger logger = manager.getHierarchy().getLogger(name, factory);
  assert(logger instanceof HaxeDebugLogger);
  if (manager.getLogConfiguration().contains(name)) {
    logger.setLevel(manager.getLogConfiguration().getLevel(name));
  } else {
    manager.getLogConfiguration().addConfiguration(name, manager.getDefaultLevel());
    logger.setLevel(manager.getDefaultLevel());
  }
  logger.addAppender(manager.getDefaultAppender());
  return (HaxeDebugLogger)logger;
}
 
public Log4jSyslogBackLogHandler(String loggerName, LoggerFactory loggerFactory) {
    if (loggerName == null) {
        throw new SyslogRuntimeException("loggerName cannot be null");
    }

    if (loggerFactory == null) {
        throw new SyslogRuntimeException("loggerFactory cannot be null");
    }

    this.logger = Logger.getLogger(loggerName, loggerFactory);

    initialize();
}
 
public Log4jSyslogBackLogHandler(String loggerName, LoggerFactory loggerFactory, boolean appendReason) {
    if (loggerName == null) {
        throw new SyslogRuntimeException("loggerName cannot be null");
    }

    if (loggerFactory == null) {
        throw new SyslogRuntimeException("loggerFactory cannot be null");
    }

    this.logger = Logger.getLogger(loggerName, loggerFactory);
    this.appendReason = appendReason;

    initialize();
}
 
源代码15 项目: logging-log4j2   文件: Category.java
static Logger getInstance(final LoggerContext context, final String name, final LoggerFactory factory) {
    final ConcurrentMap<String, Logger> loggers = getLoggersMap(context);
    Logger logger = loggers.get(name);
    if (logger != null) {
        return logger;
    }
    logger = factory.makeNewLoggerInstance(name);
    final Logger prev = loggers.putIfAbsent(name, logger);
    return prev == null ? logger : prev;
}
 
源代码16 项目: logging-log4j2   文件: Category.java
static Logger getInstance(final LoggerContext context, final String name, final LoggerFactory factory) {
    final ConcurrentMap<String, Logger> loggers = getLoggersMap(context);
    Logger logger = loggers.get(name);
    if (logger != null) {
        return logger;
    }
    logger = factory.makeNewLoggerInstance(name);
    final Logger prev = loggers.putIfAbsent(name, logger);
    return prev == null ? logger : prev;
}
 
源代码17 项目: Bats   文件: LoggerUtil.java
@Override
public Logger getLogger(String name, LoggerFactory factory)
{
  return loggerRepository.getLogger(name, factory);
}
 
源代码18 项目: hadoop   文件: TestLog4Json.java
@Override
public Logger getLogger(String name, LoggerFactory factory) {
  return new TestLogger(name, this);
}
 
源代码19 项目: big-c   文件: TestLog4Json.java
@Override
public Logger getLogger(String name, LoggerFactory factory) {
  return new TestLogger(name, this);
}
 
源代码20 项目: attic-apex-core   文件: LoggerUtil.java
@Override
public Logger getLogger(String name, LoggerFactory factory)
{
  return loggerRepository.getLogger(name, factory);
}
 
源代码21 项目: intellij-haxe   文件: HaxeDebugLogger.java
public LoggerFactory getFactory() {
  return configuredFactory;
}
 
源代码22 项目: logging-log4j2   文件: LogManager.java
public static Logger getLogger(final String name, final LoggerFactory factory) {
    return Category.getInstance(PrivateManager.getContext(), name);
}
 
源代码23 项目: logging-log4j2   文件: LogManager.java
@Override
public Logger getLogger(final String name, final LoggerFactory factory) {
    return Category.getInstance(PrivateManager.getContext(), name);
}
 
源代码24 项目: logging-log4j2   文件: Logger.java
public static Logger getLogger(final String name, final LoggerFactory factory) {
    return Category.getInstance(PrivateManager.getContext(), name, factory);
}
 
源代码25 项目: logging-log4j2   文件: LogManager.java
public static Logger getLogger(final String name, final LoggerFactory factory) {
    return Category.getInstance(PrivateManager.getContext(), name);
}
 
源代码26 项目: logging-log4j2   文件: LogManager.java
@Override
public Logger getLogger(final String name, final LoggerFactory factory) {
    return Category.getInstance(PrivateManager.getContext(), name);
}
 
源代码27 项目: logging-log4j2   文件: Logger.java
public static Logger getLogger(final String name, final LoggerFactory factory) {
    return Category.getInstance(PrivateManager.getContext(), name, factory);
}
 
源代码28 项目: cacheonix-core   文件: Logger.java
/**
   Like {@link #getLogger(String)} except that the type of logger
   instantiated depends on the type returned by the {@link
   LoggerFactory#makeNewLoggerInstance} method of the
   <code>factory</code> parameter.

   <p>This method is intended to be used by sub-classes.

   @param name The name of the logger to retrieve.

   @param factory A {@link LoggerFactory} implementation that will
   actually create a new Instance.

   @since 0.8.5 */
public
static
Logger getLogger(String name, LoggerFactory factory) {
  return LogManager.getLogger(name, factory);
}
 
 类所在包
 类方法
 同包方法