From 8749d96c809bde2f99b0fb6cf41d6fb2df95b9fd Mon Sep 17 00:00:00 2001
From: Niko Ehrenfeuchter <nikolaus.ehrenfeuchter@unibas.ch>
Date: Thu, 21 Feb 2019 10:54:29 +0100
Subject: [PATCH] Add convenience function to set up SciJava logging

---
 pom.xml                      |  2 +-
 src/imcflibs/imagej/sjlog.py | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+), 1 deletion(-)
 create mode 100644 src/imcflibs/imagej/sjlog.py

diff --git a/pom.xml b/pom.xml
index b4cc3d3..f3c3cf9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,7 @@
 
 	<groupId>ch.unibas.biozentrum.imcf</groupId>
 	<artifactId>python-imcflibs</artifactId>
-	<version>0.4.1-SNAPSHOT</version>
+	<version>0.5.0-SNAPSHOT</version>
 
 	<name>python-imcflibs</name>
 	<description>
diff --git a/src/imcflibs/imagej/sjlog.py b/src/imcflibs/imagej/sjlog.py
new file mode 100644
index 0000000..44f7d9f
--- /dev/null
+++ b/src/imcflibs/imagej/sjlog.py
@@ -0,0 +1,28 @@
+"""Helper functions to set up the scijava logger from Python."""
+
+import sjlogging  # pylint: disable-msg=import-error
+from .prefs import debug_mode
+
+
+def scijava_logger(log_service):
+    """Prepare logger and set the level according to stored ImageJ preferences.
+
+    Parameters
+    ----------
+    log_service : org.scijava.log.LogService
+        The LogService instance, usually retrieved in a SciJava script by using
+        the script parameters annotation '#@ LogService logs' or equivalent.
+
+    Returns
+    -------
+    logger : logging.Logger
+        The Python logger object connected to SciJava's LogService.
+    """
+    logger = sjlogging.setup_logger(log_service)
+    log_level = "INFO"
+    if debug_mode():
+        # issue a message with level "warn" to bring up the console window:
+        logger.warn("Enabling debug logging.")
+        log_level = "DEBUG"
+    sjlogging.set_loglevel(log_level)
+    return logger
-- 
GitLab