From 200c0d8cc554abad9e062fdd25536446dae63865 Mon Sep 17 00:00:00 2001
From: boli <boli@localhost>
Date: Fri, 14 Sep 2007 17:19:24 +0000
Subject: [PATCH] Fixed a issue where changing log categories and/or severity levels resulted in exceptions.
---
opends/src/server/org/opends/server/loggers/TextErrorLogPublisher.java | 106 +++++++++++++++++++++++++++++++----------------------
1 files changed, 62 insertions(+), 44 deletions(-)
diff --git a/opends/src/server/org/opends/server/loggers/TextErrorLogPublisher.java b/opends/src/server/org/opends/server/loggers/TextErrorLogPublisher.java
index f36dfc3..670e584 100644
--- a/opends/src/server/org/opends/server/loggers/TextErrorLogPublisher.java
+++ b/opends/src/server/org/opends/server/loggers/TextErrorLogPublisher.java
@@ -224,13 +224,11 @@
} else
{
String categoryName = overrideSeverity.substring(0, equalPos);
- Category category = Category.valueOf(categoryName);
- if (category == null)
+ categoryName = categoryName.replace("-", "_").toUpperCase();
+ try
{
- Message msg = WARN_ERROR_LOGGER_INVALID_CATEGORY.get(categoryName);
- throw new ConfigException(msg);
- } else
- {
+ Category category = Category.valueOf(categoryName);
+
HashSet<Severity> severities =
new HashSet<Severity>();
StringTokenizer sevTokenizer =
@@ -238,6 +236,7 @@
while (sevTokenizer.hasMoreElements())
{
String severityName = sevTokenizer.nextToken();
+ severityName = severityName.replace("-", "_").toUpperCase();
if(severityName.equalsIgnoreCase(LOG_SEVERITY_ALL))
{
severities.add(Severity.FATAL_ERROR);
@@ -250,21 +249,28 @@
}
else
{
- Severity severity =
- Severity.parseString(severityName);
- if (severity == null)
+ try
+ {
+ Severity severity =
+ Severity.parseString(severityName);
+
+ severities.add(severity);
+ }
+ catch(Exception e)
{
Message msg =
WARN_ERROR_LOGGER_INVALID_SEVERITY.get(severityName);
throw new ConfigException(msg);
- } else
- {
- severities.add(severity);
}
}
}
definedSeverities.put(category, severities);
}
+ catch(Exception e)
+ {
+ Message msg = WARN_ERROR_LOGGER_INVALID_CATEGORY.get(categoryName);
+ throw new ConfigException(msg);
+ }
}
}
}
@@ -327,30 +333,37 @@
} else
{
String categoryName = overrideSeverity.substring(0, equalPos);
- Category category = Category.valueOf(categoryName);
- if (category == null)
+ Category category;
+ categoryName = categoryName.replace("-", "_").toUpperCase();
+ try
+ {
+ category = Category.valueOf(categoryName);
+ }
+ catch(Exception e)
{
Message msg = WARN_ERROR_LOGGER_INVALID_CATEGORY.get(categoryName);
unacceptableReasons.add(msg);
- return false;
- } else
- {
- StringTokenizer sevTokenizer =
+ }
+
+ StringTokenizer sevTokenizer =
new StringTokenizer(overrideSeverity.substring(equalPos+1), ",");
- while (sevTokenizer.hasMoreElements())
+ while (sevTokenizer.hasMoreElements())
+ {
+ String severityName = sevTokenizer.nextToken();
+ severityName = severityName.replace("-", "_").toUpperCase();
+ if(!severityName.equalsIgnoreCase(LOG_SEVERITY_ALL))
{
- String severityName = sevTokenizer.nextToken();
- if(!severityName.equalsIgnoreCase(LOG_SEVERITY_ALL))
+ try
{
Severity severity =
Severity.parseString(severityName);
- if (severity == null)
- {
- Message msg = WARN_ERROR_LOGGER_INVALID_SEVERITY.get(
- severityName);
- unacceptableReasons.add(msg);
- return false;
- }
+ }
+ catch(Exception e)
+ {
+ Message msg =
+ WARN_ERROR_LOGGER_INVALID_SEVERITY.get(severityName);
+ unacceptableReasons.add(msg);
+ return false;
}
}
}
@@ -459,14 +472,11 @@
} else
{
String categoryName = overrideSeverity.substring(0, equalPos);
- Category category = Category.valueOf(categoryName);
- if (category == null)
+ categoryName = categoryName.replace("-", "_").toUpperCase();
+ try
{
- Message msg = WARN_ERROR_LOGGER_INVALID_CATEGORY.get(categoryName);
- resultCode = DirectoryServer.getServerErrorResultCode();
- messages.add(msg);
- } else
- {
+ Category category = Category.valueOf(categoryName);
+
HashSet<Severity> severities =
new HashSet<Severity>();
StringTokenizer sevTokenizer =
@@ -474,6 +484,7 @@
while (sevTokenizer.hasMoreElements())
{
String severityName = sevTokenizer.nextToken();
+ severityName = severityName.replace("-", "_").toUpperCase();
if(severityName.equalsIgnoreCase(LOG_SEVERITY_ALL))
{
severities.add(Severity.FATAL_ERROR);
@@ -486,22 +497,29 @@
}
else
{
- Severity severity =
- Severity.parseString(severityName);
- if (severity == null)
+ try
{
- Message msg = WARN_ERROR_LOGGER_INVALID_SEVERITY.get(
- severityName);
- resultCode = DirectoryServer.getServerErrorResultCode();
- messages.add(msg);
- } else
- {
+ Severity severity =
+ Severity.parseString(severityName);
+
severities.add(severity);
}
+ catch(Exception e)
+ {
+ Message msg =
+ WARN_ERROR_LOGGER_INVALID_SEVERITY.get(severityName);
+ throw new ConfigException(msg);
+ }
}
}
definedSeverities.put(category, severities);
}
+ catch(Exception e)
+ {
+ Message msg = WARN_ERROR_LOGGER_INVALID_CATEGORY.get(categoryName);
+ resultCode = DirectoryServer.getServerErrorResultCode();
+ messages.add(msg);
+ }
}
}
}
--
Gitblit v1.10.0