Omero logging

All OMERO components written in Java use the SLF4J logging facade, typically backed by Logback; all components written in python use the built-in logging module.

Warning

Refrain from calling logging.basicConfig() anywhere in your module except in if __name__ == "__main__" blocks.

Java clients

Java clients log to $HOME/omero/log. The number of files and their size are limited.

logback-cli.xml controls the output for the command line importer: all logging goes to standard err, while useful output (pixel ids, or used files) goes to standard out. It is contained within the omero-blitz.jar itself. Therefore, to modify the settings use -Dlogback.configurationFile=/path/to/logback.xml or similar.

OMERO.insight logging is configured via logback.xml which is available in the config/ directory of any OMERO.insight install.

Java servers

Java server components are configured by passing -Dlogback.configurationFile=etc/logback.xml to each Java process. logback.xml includes the scan attribute so that changes to the logging configuration are automatically reloaded at regular intervals.

By default, the output from logback is sent to a file named <servername>.log under the directory specified by omero.logging.directory, by default var/log. Once files reach a size specified by omero.logging.logsize, 500MB by default, they are rolled over to <servername>.log.1, <servername>.log.2, etc. The maximum of rotated log files is specified by omero.logging.lognum. Once the files have rolled over, you can safely delete or compress (bzip2, gzip, zip) them. Alternatively, once you are comfortable with the stability of your server, you can either reduce logging or the number and size of the files kept. Note: if something goes wrong with your server installation, the log files can be very useful in tracking down issues.

In addition, each import process logs to a file under the managed repository which matches the timestamped fileset directory’s name. For example, if an imported fileset is uploaded to /OMERO/ManagedRepository/userA_1/2013-06/17/12-00-00.000, then the log file can be found under /OMERO/ManagedRepository/userA_1/2013-06/17/12-00-00.000.log.

Python servers

Python servers are configured by a call to omero.util.configure_server_logging(props). The property values are taken from the configuration file passed to the server via icegridnode. For example, the config file for Processor-0 can be found in var/master/servers/Processor-0/config/config. These values come from etc/grid/templates.xml.

Similar to the Java servers, logging is configured to be written to var/log/<servername>.log and to maintain 9 backups of at most 500MB by default. All the omero.logging properties can be specified via configuration - see Logging for more details

stdout and stderr

Though all components try to avoid it, some output will still go to stdout/stderr. On non-Windows systems, all of this output will be sent to the var/log/master.out and var/log/master.err files.