Chapter 10. Logging

Main logs

The CloverETL Server uses the log4j library for logging. The WAR file contains the default log4j configuration.

By default, log files are produced in the directory specified by system property "java.io.tmpdir" in the "cloverlogs" subdirectory.

"java.io.tmpdir" usually contains common system temp dir i.e. "/tmp". On Tomcat, it is usually "[TOMCAT_HOME]/temp"

The default logging configuration (log4j.xml bundled in the clover.war) may be overridden by another log4j configuration file using system property "log4j.configuration", which should contain the URL of the new log4j configuration file. It's not just file system path, it must be URL, so it may look like this:

log4j.configuration=file:/home/clover/config/log4j.xml

Please note, that "log4j.configuration" is not a CloverETL Server config property, but system property, thus it must be set on the JVM command line by -Dlog4j.configuration or in other way suitable for the application container. Best possibility how to set system property for each application container is described in the "Installation" chapter.

Since such a configuration overrides the default configuration, it may have influence over Graph run logs. So your own log config has to contain following fragment to preserve Graph run logs

<logger name="Tracking" additivity="false">
  <level value="debug"/>
</logger>

Another useful logging settings

These system properties allow for logging of HTTP requests/responses to stdout:

Client side:

com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump=true (for more information consult CloverETL Designer Users's Guide - chapter Integrating CloverETL Designer with CloverETL Server)

Server side:

com.sun.xml.ws.transport.http.HttpAdapter.dump=true

Graph run logs

Each graph or jobflow run has its own log file – for example, in the Server Console, section "Executions History".

By default, these log files are saved in the subdirectory cloverLogs/graph in the directory specified by "java.io.tmpdir" system property.

It’s possible to specify a different location for these logs by the CloverETL property "graph.logs_path". This property does not influence main Server logs.

Server Audit logs

It loggs operations called on ServerFacade and JDBC proxy interfaces.

By default, this logging is disabled and could be enabled by setting the value of CloverETL property "logging.logger.server_audit.enabled" to true.

The name of output file is server-audit.log, in the same directory as main server log files. Default log level is DEBUG, so all operations which may do any change or another important operations (e.g. login or openJdbcConnection) are logged. To enable logging of all operations, change log level to TRACE in the log4j configuration.

Each logged operation is logged by two messages: entering method and exitting method (if the exception is raised, it's logged instead of output parameters)

Message also contains:

Values of transient and lazy initialized (in entity classes) fields and fields with binary content are not printed.