]> nmode's Git Repositories - signal-cli/blobdiff - lib/src/main/java/org/asamk/signal/manager/internal/LibSignalLogger.java
Refactor manager lib package structure
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / internal / LibSignalLogger.java
diff --git a/lib/src/main/java/org/asamk/signal/manager/internal/LibSignalLogger.java b/lib/src/main/java/org/asamk/signal/manager/internal/LibSignalLogger.java
new file mode 100644 (file)
index 0000000..66a480e
--- /dev/null
@@ -0,0 +1,30 @@
+package org.asamk.signal.manager.internal;
+
+import org.signal.libsignal.protocol.logging.SignalProtocolLogger;
+import org.signal.libsignal.protocol.logging.SignalProtocolLoggerProvider;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class LibSignalLogger implements SignalProtocolLogger {
+
+    private final static Logger logger = LoggerFactory.getLogger("LibSignal");
+
+    public static void initLogger() {
+        SignalProtocolLoggerProvider.setProvider(new LibSignalLogger());
+    }
+
+    private LibSignalLogger() {
+    }
+
+    @Override
+    public void log(final int priority, final String tag, final String message) {
+        final var logMessage = String.format("[%s]: %s", tag, message);
+        switch (priority) {
+            case SignalProtocolLogger.VERBOSE -> logger.trace(logMessage);
+            case SignalProtocolLogger.DEBUG -> logger.debug(logMessage);
+            case SignalProtocolLogger.INFO -> logger.info(logMessage);
+            case SignalProtocolLogger.WARN -> logger.warn(logMessage);
+            case SignalProtocolLogger.ERROR, SignalProtocolLogger.ASSERT -> logger.error(logMessage);
+        }
+    }
+}