Horizon stores logs under the name of the daemon that was acting on a process (for example, logs for service assurance checks that are run by pollerd are stored in pollerd.log). Log files are available in ${OPENNMS_HOME}/logs, which is a symlink to /var/log/opennms. See the list of daemons for relevant log file names.

Change logging

Horizon uses the Apache Log4j framework to manage how logs are written, structured, and rotated. The log configuration file is available in ${OPENNMS_HOME}/etc/opennms/log4j2.xml. The corresponding configurations are reflected in the configuration/loggers/root/DynamicThresholdFilter/KeyValuePair XML tree path.

The default logging level is WARN; for troubleshooting, we recommend that you use DEBUG. Each daemon can have an individual logging level. See the table below for a list of available logging levels. Changes to logging levels are applied immediately, and do not require any service or daemon restarts.

Remember to reset the logging level to WARN after changing it to a higher severity. Depending on the scale, Horizon can generate a large number of logs, which requires more disk space.

Logging levels

Service daemon logging level options
Level Description


Anything that might be useful for the average user to determine the current general behavior or state of the system.


Messages related to code that has a failure that may be temporary or recoverable, or code that is misconfigured but can continue running in a regressed state. This is the recommended default log level.


Only situations that cause code to stop working and become unrecoverable.


Additional information that can help diagnose issues.


Additional information that is often useful only to developers. This mode outputs very detailed logs, and can cause performance issues if left enabled; use it sparingly, and only as necessary.