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