]> nmode's Git Repositories - signal-cli/blobdiff - lib/src/main/java/org/asamk/signal/manager/LibSignalLogger.java
Extract lib module
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / LibSignalLogger.java
diff --git a/lib/src/main/java/org/asamk/signal/manager/LibSignalLogger.java b/lib/src/main/java/org/asamk/signal/manager/LibSignalLogger.java
new file mode 100644 (file)
index 0000000..9118846
--- /dev/null
@@ -0,0 +1,41 @@
+package org.asamk.signal.manager;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.whispersystems.libsignal.logging.SignalProtocolLogger;
+import org.whispersystems.libsignal.logging.SignalProtocolLoggerProvider;
+
+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 String logMessage = String.format("[%s]: %s", tag, message);
+        switch (priority) {
+            case SignalProtocolLogger.VERBOSE:
+                logger.trace(logMessage);
+                break;
+            case SignalProtocolLogger.DEBUG:
+                logger.debug(logMessage);
+                break;
+            case SignalProtocolLogger.INFO:
+                logger.info(logMessage);
+                break;
+            case SignalProtocolLogger.WARN:
+                logger.warn(logMessage);
+                break;
+            case SignalProtocolLogger.ERROR:
+            case SignalProtocolLogger.ASSERT:
+                logger.error(logMessage);
+                break;
+        }
+    }
+}