Advanced Logging Options

Topics:

Sometimes it may be necessary to exercise control over how specific Omni-Gen services perform logging. This section describes several options that are available for advanced users.

Data Quality Tracing

The Data Quality services (cleanse, match, merge, remediate, and workbench cleanse) can be set to log transaction data to log files and real records to CSV-formatted files. In the Controller Console (under Configuration, Runtime, Runtime tab), set Enable DQ trace files to true. The parameter key is server.runtime.server.dqTraceEnable. This will cause Omni-Gen to write two CSV files every time a DQ service processes any records. One will be a "send" file, the other a "receive" file. Each will contain a header row and a row for each record sent to, or received by, a DQ service. The files will be named to indicate the DQ service, the record subject, the transaction ID, and whether the data was sent or received.

Standard Logging Support

Omni-Gen services rely on Apache Log4J to provide logs. This allows configuration of logging through standard Log4J/Slf4J configuration files, or through a wrapper framework, as described in the following table.

Framework

Application

Logging Configuration Files

Log4J

command line

OmniServer/cmd/conf/log4j-command.xml

controller service

OmniServer/cmd/conf/log4j-controller.xml

data quality services

OmniServer/mastering/services/[dq service type]/services/_logging.xml, OmniServer/workbench/services/cleansing/services/_logging.xml

omni server

OmniGenData/OmniServer/cmd/conf/log4j-server.xml

WSO2 server

wso2_is/repository/conf/log4j.properties

Spring Boot

deployment bundle service

deploymentbundle/application.properties

Apache Tomcat

OGC

OmniGenData/OmniGovConsole/conf/logging.properties

 

repository server

OmniGenData/OmniDesignerRepository/conf/logging.properties

Log4J Logging Considerations

Omni-Gen uses standard Apache Log4J logging levels. This means that:

  1. Log messages will be emitted with one of the following severity levels: FATAL, ERROR, WARN, INFO, DEBUG, or TRACE
  2. Logging severity level filters can be set per service or per code structure to filter out messages with a lesser severity.
  3. Omni-Gen log messages have been tagged to best represent their relevance to the user, where possible, for example:
    1. FATAL. A fatal error, meaning the process must stop or, sometimes, the operation has failed.
    2. ERROR. An error that is typically recoverable.
    3. WARN. An unusual or non-ideal condition has been detected, but the operation will continue.
    4. INFO. General messages about the normal behavior of the process or operation.
    5. DEBUG. Messages generally useful in troubleshooting or debugging, typically short messages containing a small amount of data or internal state.
    6. TRACE. Larger messages useful in troubleshooting or debugging, typically filtered out by default and containing full contents of commands or internal structures.

For more information about configuration and log levels, see the following online Apache Log4J documentation:

https://logging.apache.org/log4j/2.x/manual/configuration.html#ConfigurationSyntax

https://logging.apache.org/log4j/2.x/manual/configuration.html#Properties

https://logging.apache.org/log4j/2.x/manual/configuration.html#SystemProperties

https://logging.apache.org/log4j/2.x/manual/architecture.html

https://logging.apache.org/log4j/2.x/log4j-api/apidocs/org/apache/logging/log4j/Level.html