aboutsummaryrefslogtreecommitdiffstats
path: root/jdisc_core/src/main
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@yahooinc.com>2023-09-04 11:50:35 +0200
committerBjørn Christian Seime <bjorncs@yahooinc.com>2023-09-04 14:33:30 +0200
commit0273b5ab2c83b02678617e9dc7e969080c044c9c (patch)
treeeffec8747a2a13650ab632eebcbf41f3e4af40f9 /jdisc_core/src/main
parentc28b8521f0b652bbe23c1ab97ad85a98d13b27de (diff)
Remove dead code and handle API changes
Diffstat (limited to 'jdisc_core/src/main')
-rw-r--r--jdisc_core/src/main/java/com/yahoo/jdisc/core/ConsoleLogFormatter.java14
-rw-r--r--jdisc_core/src/main/java/com/yahoo/jdisc/core/ConsoleLogListener.java32
-rw-r--r--jdisc_core/src/main/java/com/yahoo/jdisc/core/OsgiLogHandler.java14
-rw-r--r--jdisc_core/src/main/java/com/yahoo/jdisc/core/OsgiLogManager.java103
4 files changed, 32 insertions, 131 deletions
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/core/ConsoleLogFormatter.java b/jdisc_core/src/main/java/com/yahoo/jdisc/core/ConsoleLogFormatter.java
index 080f3d3f74b..f7f53d304df 100644
--- a/jdisc_core/src/main/java/com/yahoo/jdisc/core/ConsoleLogFormatter.java
+++ b/jdisc_core/src/main/java/com/yahoo/jdisc/core/ConsoleLogFormatter.java
@@ -4,7 +4,7 @@ package com.yahoo.jdisc.core;
import org.osgi.framework.Bundle;
import org.osgi.framework.ServiceReference;
import org.osgi.service.log.LogEntry;
-import org.osgi.service.log.LogService;
+import org.osgi.service.log.LogLevel;
import java.io.PrintWriter;
import java.io.StringWriter;
@@ -86,17 +86,17 @@ class ConsoleLogFormatter {
}
private StringBuilder formatLevel(LogEntry entry, StringBuilder out) {
- switch (entry.getLevel()) {
- case LogService.LOG_ERROR:
+ switch (entry.getLogLevel()) {
+ case ERROR:
out.append("error");
break;
- case LogService.LOG_WARNING:
+ case WARN:
out.append("warning");
break;
- case LogService.LOG_INFO:
+ case INFO:
out.append("info");
break;
- case LogService.LOG_DEBUG:
+ case DEBUG:
out.append("debug");
break;
default:
@@ -117,7 +117,7 @@ class ConsoleLogFormatter {
private StringBuilder formatException(LogEntry entry, StringBuilder out) {
Throwable t = entry.getException();
if (t != null) {
- if (entry.getLevel() == LogService.LOG_INFO) {
+ if (entry.getLogLevel() == LogLevel.INFO) {
out.append(": ");
String msg = t.getMessage();
if (msg != null) {
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/core/ConsoleLogListener.java b/jdisc_core/src/main/java/com/yahoo/jdisc/core/ConsoleLogListener.java
index 2cfa604109b..1d872bbcb64 100644
--- a/jdisc_core/src/main/java/com/yahoo/jdisc/core/ConsoleLogListener.java
+++ b/jdisc_core/src/main/java/com/yahoo/jdisc/core/ConsoleLogListener.java
@@ -3,62 +3,64 @@ package com.yahoo.jdisc.core;
import com.yahoo.net.HostName;
import org.osgi.service.log.LogEntry;
+import org.osgi.service.log.LogLevel;
import org.osgi.service.log.LogListener;
import java.io.PrintStream;
+import java.util.Optional;
/**
* @author Vikas Panwar
*/
class ConsoleLogListener implements LogListener {
- public static final int DEFAULT_LOG_LEVEL = Integer.MAX_VALUE;
+ public static final LogLevel DEFAULT_LOG_LEVEL = LogLevel.TRACE;
private final ConsoleLogFormatter formatter;
private final PrintStream out;
- private final int maxLevel;
+ private final LogLevel maxLevel;
ConsoleLogListener(PrintStream out, String serviceName, String logLevel) {
this.out = out;
this.formatter = new ConsoleLogFormatter(getHostname(), getProcessId(), serviceName);
- this.maxLevel = parseLogLevel(logLevel);
+ this.maxLevel = parseLogLevel(logLevel).orElse(null);
}
@Override
public void logged(LogEntry entry) {
- if (entry.getLevel() > maxLevel) {
+ if (maxLevel == null || !maxLevel.implies(entry.getLogLevel())) {
return;
}
out.println(formatter.formatEntry(entry));
}
- public static int parseLogLevel(String logLevel) {
+ public static Optional<LogLevel> parseLogLevel(String logLevel) {
if (logLevel == null || logLevel.isEmpty()) {
- return DEFAULT_LOG_LEVEL;
+ return Optional.of(DEFAULT_LOG_LEVEL);
}
if (logLevel.equalsIgnoreCase("OFF")) {
- return Integer.MIN_VALUE;
+ return Optional.empty();
}
if (logLevel.equalsIgnoreCase("ERROR")) {
- return 1;
+ return Optional.of(LogLevel.ERROR);
}
if (logLevel.equalsIgnoreCase("WARNING")) {
- return 2;
+ return Optional.of(LogLevel.WARN);
}
if (logLevel.equalsIgnoreCase("INFO")) {
- return 3;
+ return Optional.of(LogLevel.INFO);
}
if (logLevel.equalsIgnoreCase("DEBUG")) {
- return 4;
+ return Optional.of(LogLevel.DEBUG);
}
if (logLevel.equalsIgnoreCase("ALL")) {
- return Integer.MAX_VALUE;
+ return Optional.of(LogLevel.TRACE);
}
try {
- return Integer.valueOf(logLevel);
- } catch (NumberFormatException e) {
+ return Optional.of(LogLevel.values()[Integer.parseInt(logLevel)]);
+ } catch (NumberFormatException | IndexOutOfBoundsException e) {
// fall through
}
- return DEFAULT_LOG_LEVEL;
+ return Optional.of(DEFAULT_LOG_LEVEL);
}
public static ConsoleLogListener newInstance() {
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/core/OsgiLogHandler.java b/jdisc_core/src/main/java/com/yahoo/jdisc/core/OsgiLogHandler.java
index 48fdb2a0293..989bc26dd85 100644
--- a/jdisc_core/src/main/java/com/yahoo/jdisc/core/OsgiLogHandler.java
+++ b/jdisc_core/src/main/java/com/yahoo/jdisc/core/OsgiLogHandler.java
@@ -4,6 +4,7 @@ package com.yahoo.jdisc.core;
import com.google.common.collect.ImmutableMap;
import org.osgi.framework.Bundle;
import org.osgi.framework.ServiceReference;
+import org.osgi.service.log.LogLevel;
import org.osgi.service.log.LogService;
import java.util.Dictionary;
@@ -45,8 +46,9 @@ class OsgiLogHandler extends Handler {
}
@Override
+ @SuppressWarnings("deprecation")
public void publish(LogRecord record) {
- logService.log(new LogRecordReference(record), toServiceLevel(record.getLevel()), record.getMessage(),
+ logService.log(new LogRecordReference(record), toServiceLevel(record.getLevel()).ordinal(), record.getMessage(),
record.getThrown());
}
@@ -60,22 +62,22 @@ class OsgiLogHandler extends Handler {
// empty
}
- public static int toServiceLevel(Level level) {
+ public static LogLevel toServiceLevel(Level level) {
int val = level.intValue();
if (val >= Level.SEVERE.intValue()) {
- return LogService.LOG_ERROR;
+ return LogLevel.ERROR;
}
if (val >= Level.WARNING.intValue()) {
- return LogService.LOG_WARNING;
+ return LogLevel.WARN;
}
if (val >= Level.INFO.intValue()) {
- return LogService.LOG_INFO;
+ return LogLevel.INFO;
}
// Level.CONFIG
// Level.FINE
// Level.FINER
// Level.FINEST
- return LogService.LOG_DEBUG;
+ return LogLevel.DEBUG;
}
private static <T> Map<String, T> createDictionary(T[] in) {
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/core/OsgiLogManager.java b/jdisc_core/src/main/java/com/yahoo/jdisc/core/OsgiLogManager.java
deleted file mode 100644
index 0530d63fe7a..00000000000
--- a/jdisc_core/src/main/java/com/yahoo/jdisc/core/OsgiLogManager.java
+++ /dev/null
@@ -1,103 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.jdisc.core;
-
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.log.LogService;
-import org.osgi.util.tracker.ServiceTracker;
-import org.osgi.util.tracker.ServiceTrackerCustomizer;
-
-import java.util.concurrent.CopyOnWriteArrayList;
-import java.util.logging.Handler;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * TODO: unused, remove (not public api)
- *
- * @author Simon Thoresen Hult
- */
-class OsgiLogManager implements LogService {
-
- private static final Object globalLock = new Object();
- private final CopyOnWriteArrayList<LogService> services = new CopyOnWriteArrayList<>();
- private final boolean configureLogLevel;
- private ServiceTracker<LogService,LogService> tracker;
-
- OsgiLogManager(boolean configureLogLevel) {
- this.configureLogLevel = configureLogLevel;
- }
-
- public void install(BundleContext osgiContext) {
- if (tracker != null) {
- throw new IllegalStateException("OsgiLogManager already installed.");
- }
- tracker = new ServiceTracker<>(osgiContext, LogService.class, new ServiceTrackerCustomizer<>() {
-
- @Override
- public LogService addingService(ServiceReference<LogService> reference) {
- LogService service = osgiContext.getService(reference);
- services.add(service);
- return service;
- }
-
- @Override
- public void modifiedService(ServiceReference<LogService> reference, LogService service) {
-
- }
-
- @Override
- public void removedService(ServiceReference<LogService> reference, LogService service) {
- services.remove(service);
- }
- });
- tracker.open();
- synchronized (globalLock) {
- Logger root = Logger.getLogger("");
- if (configureLogLevel) {
- root.setLevel(Level.ALL);
- }
- for (Handler handler : root.getHandlers()) {
- root.removeHandler(handler);
- }
- root.addHandler(new OsgiLogHandler(this));
- }
- }
-
- public boolean uninstall() {
- if (tracker == null) {
- return false;
- }
- tracker.close(); // implicitly clears the services array
- tracker = null;
- return true;
- }
-
- @Override
- public void log(int level, String message) {
- log(null, level, message, null);
- }
-
- @Override
- public void log(int level, String message, Throwable throwable) {
- log(null, level, message, throwable);
- }
-
- @SuppressWarnings("rawtypes")
- @Override
- public void log(ServiceReference serviceRef, int level, String message) {
- log(serviceRef, level, message, null);
- }
-
- @SuppressWarnings("rawtypes")
- @Override
- public void log(ServiceReference serviceRef, int level, String message, Throwable throwable) {
- for (LogService obj : services) {
- obj.log(serviceRef, level, message, throwable);
- }
- }
-
- public static OsgiLogManager newInstance() {
- return new OsgiLogManager(System.getProperty("java.util.logging.config.file") == null);
- }
-}