diff --git a/pom.xml b/pom.xml index b4cc3d3201ff623f29e299de21003307e3666b9e..f3c3cf974d706595c03eed0d27eb34413e18a27f 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 0000000000000000000000000000000000000000..44f7d9ff9ee35c8bff6ebcdf9aca6988eb6375bd --- /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