From f7139fa4ddb6a0bdc698b5a1ac2b265377dd97f7 Mon Sep 17 00:00:00 2001
From: Fabio Pistolesi <fabio.pistolesi@forgerock.com>
Date: Fri, 24 Jun 2016 10:22:35 +0000
Subject: [PATCH] OPENDJ-2725 Set message categories for tools who use JDK logging instead of the server custom logger
---
opendj-server-legacy/src/main/java/org/opends/server/loggers/LoggingCategoryNames.java | 78 +++++++++++++++++++++++++++-----------
1 files changed, 55 insertions(+), 23 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/loggers/LoggingCategoryNames.java b/opendj-server-legacy/src/main/java/org/opends/server/loggers/LoggingCategoryNames.java
index c424dcc..82c7ed0 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/loggers/LoggingCategoryNames.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/loggers/LoggingCategoryNames.java
@@ -17,6 +17,8 @@
import java.util.HashMap;
import java.util.Map;
+import java.util.NavigableMap;
+import java.util.TreeMap;
/**
* Provides mapping from class names to simple category names used for logging.
@@ -32,64 +34,85 @@
* most case, package name is sufficient to map to a category name. It is
* valid if several entries point to the same category name.
*/
- private static final Map<String, String> NAMES = new HashMap<>();
+ private static final Map<String, String> RESOURCE_NAMES = new HashMap<>();
+ private static final NavigableMap<String, String> SOURCE_CLASSES = new TreeMap<>();
private static final String DEFAULT_CATEGORY = "NONE";
static
{
// The category used for messages associated with the core server.
- NAMES.put("org.opends.messages.core", "CORE");
- NAMES.put("org.opends.messages.runtime", "JVM");
- NAMES.put("com.forgerock.opendj.ldap", "SDK");
+ RESOURCE_NAMES.put("org.opends.messages.core", "CORE");
+ SOURCE_CLASSES.put("org.opends.server.core", "CORE");
+ RESOURCE_NAMES.put("org.opends.messages.runtime", "JVM");
+ SOURCE_CLASSES.put("org.opends.server.util.RuntimeInformation", "JVM");
+ RESOURCE_NAMES.put("com.forgerock.opendj.ldap", "SDK");
+ SOURCE_CLASSES.put("org.forgerock.opendj.ldap", "SDK");
// The category used for messages associated with server extensions
// (e.g. extended operations, SASL mechanisms, password storage, schemes, password validators, etc.).
- NAMES.put("org.opends.messages.extension", "EXTENSIONS");
+ RESOURCE_NAMES.put("org.opends.messages.extension", "EXTENSIONS");
+ SOURCE_CLASSES.put("org.opends.server.extensions", "EXTENSIONS");
// The category used for messages associated with
// connection and protocol handling (e.g., ASN.1 and LDAP).
- NAMES.put("org.opends.messages.protocol", "PROTOCOL");
+ RESOURCE_NAMES.put("org.opends.messages.protocol", "PROTOCOL");
+ SOURCE_CLASSES.put("org.opends.server.protocol", "PROTOCOL");
+ SOURCE_CLASSES.put("org.forgerock.opendj.io", "PROTOCOL");
// The category used for messages associated with configuration handling.
- NAMES.put("org.opends.messages.config", "CONFIG");
+ RESOURCE_NAMES.put("org.opends.messages.config", "CONFIG");
+ SOURCE_CLASSES.put("org.opends.server.config", "CONFIG");
// The category used for messages associated with the server loggers.
- NAMES.put("org.opends.messages.logger", "LOG");
+ RESOURCE_NAMES.put("org.opends.messages.logger", "LOG");
+ SOURCE_CLASSES.put("org.opends.server.loggers", "LOG");
// The category used for messages associated with the general server utilities.
- NAMES.put("org.opends.messages.utility", "UTIL");
+ RESOURCE_NAMES.put("org.opends.messages.utility", "UTIL");
+ SOURCE_CLASSES.put("org.opends.server.util", "UTIL");
// The category used for messages associated with the server schema elements.
- NAMES.put("org.opends.messages.schema", "SCHEMA");
+ RESOURCE_NAMES.put("org.opends.messages.schema", "SCHEMA");
+ SOURCE_CLASSES.put("org.opends.server.schema", "SCHEMA");
+ SOURCE_CLASSES.put("org.forgerock.opendj.ldap.schema", "SCHEMA");
// The category that will be used for messages associated with plugin processing.
- NAMES.put("org.opends.messages.plugin", "PLUGIN");
+ RESOURCE_NAMES.put("org.opends.messages.plugin", "PLUGIN");
+ SOURCE_CLASSES.put("org.opends.server.plugins", "PLUGIN");
// The category used for messages associated with generic backends.
- NAMES.put("org.opends.messages.backend", "BACKEND");
+ RESOURCE_NAMES.put("org.opends.messages.backend", "BACKEND");
+ SOURCE_CLASSES.put("org.opends.server.backends", "BACKEND");
// The category used for messages associated with tools
- NAMES.put("org.opends.messages.tool", "TOOLS");
+ RESOURCE_NAMES.put("org.opends.messages.tool", "TOOLS");
+ SOURCE_CLASSES.put("org.opends.server.tools", "TOOLS");
// The category used for messages associated with tasks
- NAMES.put("org.opends.messages.task", "TASK");
+ RESOURCE_NAMES.put("org.opends.messages.task", "TASK");
+ SOURCE_CLASSES.put("org.opends.server.tasks", "TASK");
// The category used for messages associated with Access Control
- NAMES.put("org.opends.messages.access_control", "ACCESS_CONTROL");
+ RESOURCE_NAMES.put("org.opends.messages.access_control", "ACCESS_CONTROL");
+ SOURCE_CLASSES.put("org.opends.server.authorization", "ACCESS_CONTROL");
// The category used for messages associated with the administration framework.
- NAMES.put("org.opends.messages.admin", "ADMIN");
+ RESOURCE_NAMES.put("org.opends.messages.admin", "ADMIN");
+ SOURCE_CLASSES.put("org.opends.server.admin", "ADMIN");
// The category used for messages associated with the Synchronization
- NAMES.put("org.opends.server.replication", "SYNC");
+ RESOURCE_NAMES.put("org.opends.server.replication", "SYNC");
// The category used for messages associated with quicksetup tools
- NAMES.put("org.opends.messages.quickSetup", "QUICKSETUP");
+ RESOURCE_NAMES.put("org.opends.messages.quickSetup", "QUICKSETUP");
+ SOURCE_CLASSES.put("org.opends.quicksetup", "QUICKSETUP");
- // The category used for messages associated with the tool like the offline installer and unintaller.
- NAMES.put("org.opends.messages.admin_tool", "ADMIN_TOOL");
+ // The category used for messages associated with the tool like the offline installer and un-installer.
+ RESOURCE_NAMES.put("org.opends.messages.admin_tool", "ADMIN_TOOL");
+ SOURCE_CLASSES.put("org.opends.guitools.uninstaller", "ADMIN_TOOL");
+ SOURCE_CLASSES.put("org.opends.admin.ads", "ADMIN_TOOL");
// The category used for messages associated with common audit.
- NAMES.put("org.forgerock.audit", "AUDIT");
+ RESOURCE_NAMES.put("org.forgerock.audit", "AUDIT");
}
/**
@@ -125,7 +148,16 @@
{
return fallbackCategory == null ? DEFAULT_CATEGORY : fallbackCategory;
}
- final String category = NAMES.get(className);
- return category != null ? category : className;
+ final String category = RESOURCE_NAMES.get(className);
+ if (category == null)
+ {
+ final Map.Entry<String, String> entry = SOURCE_CLASSES.floorEntry(className);
+ if (entry != null && className.startsWith(entry.getKey()))
+ {
+ return entry.getValue();
+ }
+ return className;
+ }
+ return category;
}
}
--
Gitblit v1.10.0