use of org.osgi.service.log.admin.LoggerContext in project rt.equinox.framework by eclipse.
the class ExtendedLogServiceImpl method getLogger.
@Override
public <L extends org.osgi.service.log.Logger> L getLogger(String name, Class<L> loggerType) {
if (name == null) {
// $NON-NLS-1$
name = "LogService";
}
LoggerImpl logger = null;
Map<String, LoggerImpl> loggers = null;
factory.contextsLock.readLock().lock();
try {
loggers = loggerCache.get(loggerType);
if (loggers == null) {
throw new IllegalArgumentException(loggerType.getName());
}
logger = loggers.get(name);
} finally {
factory.contextsLock.readLock().unlock();
}
if (logger == null) {
LoggerContext loggerContext = factory.loggerContextTargetMap.getEffectiveLoggerContext(bundle);
if (loggerType == FormatterLogger.class) {
logger = new FormatterLoggerImpl(this, name, loggerContext);
} else if (loggerType == org.osgi.service.log.Logger.class) {
logger = new LoggerImpl(this, name, loggerContext);
} else {
throw new IllegalArgumentException(loggerType.getName());
}
factory.contextsLock.writeLock().lock();
try {
LoggerImpl existing = loggers.get(name);
if (existing == null) {
loggers.put(name, logger);
} else {
logger = existing;
}
} finally {
factory.contextsLock.writeLock().unlock();
}
}
return loggerType.cast(logger);
}
use of org.osgi.service.log.admin.LoggerContext in project rt.equinox.framework by eclipse.
the class EquinoxLogWriter method applyLogLevel.
void applyLogLevel() {
if (loggerAdmin == null) {
return;
}
LoggerContext rootContext = loggerAdmin.getLoggerContext(null);
Map<String, LogLevel> rootLevels = rootContext.getLogLevels();
rootLevels.put(loggerName, getLogLevel());
rootContext.setLogLevels(rootLevels);
}
Aggregations