3.2 Logging

3.2.1 Logs and Setting Log Levels

Oracle GoldenGate Veridata maintains logs for both the agent and the server, helping with monitoring, troubleshooting, and performance analysis.

  • The agent generates:
    • Main logs
    • Query logs for executed SQL queries
    • Performance logs for tracking execution efficiency

Veridata agent logs are categorized into different log levels to control the verbosity of logging:

  • TRACE – Detailed debugging information
  • NOTIFICATION – General operational messages
  • WARNING – Potential issues that may require attention
  • ERROR – Errors that impact functionality but do not stop execution
  • INCIDENT_ERROR – Critical errors requiring immediate action

  • The server generates:
    • Server logs
    • Api logs
    • Performance logs for monitoring system performance

Veridata server logs are categorized into different log levels to control the verbosity of logging:

  • SEVERE

Indicates serious failures that require immediate attention.

  • WARNING

Indicates potential problems that might cause issues in the future.

  • INFO

Used for general information messages about the application's normal execution.

  • FINE

Provides general tracing information for debugging.

  • FINER

More detailed tracing messages than FINE.

  • FINEST (Lowest priority)

Most detailed tracing information, usually at a very granular level.

  • ALL

Captures all messages at all levels (from FINEST to SEVERE).

Note:

Production systems typically log at INFO or WARNING levels.

Debugging scenarios may use FINE, FINER, or FINEST.

3.2.2 Agent

3.2.2.1 Agent Logs Location

Agent logs are stored in the following directory: $AGENT_DEPLOYED_LOCATION/logs/

The main agent logs are recorded in: veridata-agent.log.

The performance logs are stored in: vdtperf-agent.log.

3.2.2.2 Updating Agent Log Settings

Agent log settings can be configured in the odl.xml file.

File Location: $AGENT_DEPLOYED_LOCATION/config/odl.xml

3.2.2.3 Enabling Performance Logs

  1. Modify the odl.xml file and change level from NOTIFICATION to TRACE for logger with name oracle.veridata.agent.performance.

    For example:

    <logger name='oracle.veridata.agent.performance' level='TRACE:1' useParentHandlers='false'> <handler name='perf-handler' /> <handler name='my-console-handler' /> </logger> 
  2. Restart the agent.

    If this logger is not present in odl.xml then:

    1. Add below log handler under <log_handlers>
      <log_handler name='perf-handler' class='oracle.core.ojdl.logging.ODLHandlerFactory'> <property name='path' value='${agentHome}/logs/vdtperf-${agent.id}.log' /> <property name='maxFileSize' value='10485760' /> <property name='maxLogSize' value='104857600' /> <property name='useSourceClassAndMethod' value='TRACE:1' /> </log_handler> 
    2. Under the <loggers> tag add the following:
      <logger name='oracle.veridata.agent.performance' level='TRACE:1' useParentHandlers='false'> <handler name='perf-handler' /> <handler name='my-console-handler' /> </logger> 
  3. Restart the agent.

3.2.2.4 Enabling Trace Logs

Modify the odl.xml file and change level from NOTIFICATION to TRACE for loggers having name oracle.veridata. Restart the agent.

For example:

<logger name='oracle.veridata' level='TRACE:1' useParentHandlers='false'> <handler name='odl-handler' /> <handler name='my-console-handler' /> </logger> 
<logger name='oracle.veridata.XML' level='TRACE:1' useParentHandlers='false'> <handler name='odl-handler' /> <handler name='my-console-handler'/> </logger> 

3.2.2.5 Enabling Query Logs

  1. Modify the odl.xml file and change level from NOTIFICATION to TRACE for loggers having name oracle.veridata.agent.query.
    <logger name='oracle.veridata.agent.query' level='TRACE:1' useParentHandlers='false'> <handler name='odl-handler' /> <handler name='my-console-handler' /> </logger> 
  2. Restart the agent.

3.2.2.6 Modifying Log Size

The log rotation is enabled by default, and therefore older logs get deleted when log size reached a certain size. However, this can be controlled as described below.

Log size is specified per log handler in the odl.xml file. This is controlled by the following 2 properties:

  • maxFileSize - Defines the maximum size (in bytes) a log file can reach before it gets rotated and a new log file is created.
  • maxLogSize - It controls the max log size (in bytes) before rolling over.

For all the logs:

Find the log handler with name odl-handler and change values of maxFileSize and maxLogSize, then restart the agent.

<log_handler name='odl-handler' class='oracle.core.ojdl.logging.ODLHandlerFactory'> <property name='path' value='${agentHome}/logs/veridata-${agent.id}.log' /> <property name='maxFileSize' value='10485760' /> <property name='maxLogSize' value='104857600' /> <property name='useSourceClassAndMethod' value='TRACE:1' /> </log_handler> 

For Performance Logs:

Find the log handler with name perf-handler and change values of maxFileSize and maxLogSize, then restart the agent.

<log_handler name='perf-handler' class='oracle.core.ojdl.logging.ODLHandlerFactory'> <property name='path' value='${agentHome}/logs/vdtperf-${agent.id}.log' /> <property name='maxFileSize' value='10485760' /> <property name='maxLogSize' value='104857600' /> <property name='useSourceClassAndMethod' value='TRACE:1' /> </log_handler>

Note:

Values of maxFileSize and maxLogSize are in bytes, therefore 10485760 is 10 MB.

3.2.3 Server

3.2.3.1 Server Log Location

All the Server logs are stored in the following directory: <VERIDATA_HOME>/veridata/logs.

Server API logs are recorded in vdtapi.log. The format of the Server API log files is as follows: vdtapi.log.x. For example, vdtapi.log.0. Older logs are named as vdtapi.log.1, vdtapi.log.2, or vdtapi.log.n.

The Server logs are recorded in vdtserver.log. The format of the Server log files is as follows: vdtserver.log.x. For example, vdtserver.log.0. Older logs are named as vdtserver.log.1, vdtserver.log.2, or vdtserver.log.n.

Server performance logs are recorded in vdtperf.log.

Note:

Log files can also be updated from the config file located at: <VERIDATA_HOME>/config/logging.properties.

3.2.3.2 Updating Server Log Levels

Server log levels can be configured using update log config API. For more information, see REST API for GoldenGate Veridata. This API will be used to set log levels for:

  1. Setting Log Levels for All Logs:
    To apply a log level to all logs at once, send the following request body:
    { "level":<global_log_level> }

    Valid values for <global_log_level>: ALL, SEVERE, WARNING, INFO, FINE, FINER, FINEST

  2. Configuring Performance Logs:
    To enable performance logging, use the following request body:
    { "level": <global_log_level>, "logComponents": "oracle.veridata.server.performance=FINE" }

    Here value of logComponents can be any of the following values:

    "oracle.veridata.server.performance=FINE" "oracle.veridata.server.performance=FINER" "oracle.veridata.server.performance=FINEST" 
  3. Configuring Server Logs

    By default, INFO level server logs are written to the vdtserver.log file. To modify the server log level, use the following request body:

    { "level": <global_log_level>, "logComponents": "oracle.veridata.server=<desired_log_level>" } 

    Valid values for <desired_log_level>: ALL, SEVERE, WARNING, INFO, FINE, FINER, FINEST

  4. Configuring Log Handlers (File & Console):

    You can choose where the logs should be stored:

    FileHandler: Stores logs in a file.

    ConsoleHandler: Displays logs in the console.

    You can enable both handlers simultaneously.
    { "level": <global_log_level>, "logHandlers": "FileHandler,ConsoleHandler" } 

3.2.3.3 Changing Log Size

Log rotation is enabled by default, to ensure older logs are deleted when they reach a specified size.

Log size is controlled by <VERIDATA_HOME>/config/logging.properties file, where each log handler has two key properties:

  • FileHandler.limit - Defines the maximum size (in bytes) a log file can reach before it is rotated (a new file is created). This is basically the size of 1 log file.
  • FileHandler.count - Defines the number of log files to keep in the rotation. When the number of log files exceeds count, the oldest file is deleted.
For example: To change the file size to 10MB and log file count to 10 for perf logs, modify as follows:
com.oracle.goldengate.veridata.logging.PerfFileHandler.limit=10485760 com.oracle.goldengate.veridata.logging.PerfFileHandler.count=10
Note that you will need to restart the server after this update.