下面列出了怎么用org.apache.logging.log4j.core.config.plugins.util.PluginManager的API类实例代码及写法,或者点击链接到github查看源代码。
private ConstraintPlugins() {
final PluginManager manager = new PluginManager(ConstraintType.CATEGORY);
if (LOGGER instanceof org.apache.logging.log4j.core.Logger) {
List<String> pluginPackages =
((org.apache.logging.log4j.core.Logger) LOGGER).getContext().getConfiguration().getPluginPackages();
manager.collectPlugins(pluginPackages);
} else {
manager.collectPlugins();
}
final Map<String, PluginType<?>> plugins = manager.getPlugins();
for (Map.Entry<String, PluginType<?>> entry : plugins.entrySet()) {
try {
final Class<? extends ConstraintType> clazz = entry.getValue().getPluginClass().asSubclass(ConstraintType.class);
ConstraintType constraintType = ReflectionUtil.instantiate(clazz);
constraintMap.put(entry.getKey(), constraintType);
} catch (final Throwable t) {
throw new ConstraintCreationException("Unable to create constraint for " + entry.getKey(), t);
}
}
}
@BeforeClass
public static void setUp() {
PluginManager.addPackage("com.baeldung.logging.log4j2.xmlconfiguration");
}
@BeforeClass
public static void setUp() {
PluginManager.addPackage("com.baeldung.logging.log4j2.simpleconfiguration");
}
/**
* Load logging plugins so we can have {@code node_name} in the pattern.
*/
public static void loadLog4jPlugins() {
PluginManager.addPackage(LogConfigurator.class.getPackage().getName());
}
public BuilderManager() {
final PluginManager manager = new PluginManager(CATEGORY);
manager.collectPlugins();
plugins = manager.getPlugins();
}
@Test
public void testPlugin(){
PluginManager pm = new PluginManager(PatternConverter.CATEGORY);
pm.collectPlugins();
for(Entry<String, PluginType<?>> entry : pm.getPlugins().entrySet()){
logger.info("{} : {}", entry.getKey(), entry.getValue());
}
logger.error("[testPlugin]", new IOException("io exception message..."));
}