3.2 Logging

3.2.1 Logs and 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
    • Repository logs containing the SQL queries, transactions and changes made with the Veridata repository

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.

You can modify server log levels from the Settings page on the Home screen. For more information, see Settings.

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

You can configure the Agent log settings in the odl.xml file.

File Location: $AGENT_DEPLOYED_LOCATION/config/odl.xml

You can also set the Agent log levels from the Logs tab on the Connections screen.

Note:

The Logs tab on the UI is available only for managed Agents for GGS customers.

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.

There are four types of log files to store differnet type of logs:
  • vdtapi.log

    Server API logs are recorded in vdtapi.log.

  • vdtserver.log

    The Server logs are recorded in vdtserver.log.

  • vdtperf.log

    Server performance logs are recorded in vdtperf.log.

  • vdtrepo.log

    Server repository logs are recorded in vdtrepo.log.

Note:

  • For all categories of log files, the log file names are of the format vdt<type>.log.n, where n is 0,1,2.... , and contain older logs.
  • For each type of log file, vdt<type>.log.0 will have the latest logs.
  • Log configurations can also be updated from the config file located at: <VERIDATA_HOME>/config/logging.properties.
  • If you update the config file, you will need to restart the server.
  • You can avoid a restart by using APIs. See Updating Server Log Levels.

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 desired log levels to all logs at once, either same level or different for each log type, send the following request body with comma separated level and name pairs:
    logParameters:[
      {
        "level":<desired_log_level>,
        "name": <log name>
      },
      {
        "level":<desired_log_level>,
        "name": <log name>
      }
    ]

    Supported values are : OFF, INFO, SEVERE, FINEST

  2. Configuring Server Logs
    To modify the server log level, use the following request body:
    {
        "level": <desired_log_level>,
        "name":  "oracle.veridata.server"
    }
    

    Supported log level values are : OFF, INFO, FINEST, SEVERE.

    Default value is INFO.

  3. Configuring Performance Logs:
    To enable performance logging, use the following request body:
    {   
            "level": <desired_log_level>,   
            "name":  "oracle.veridata.server.performance"
    }
    

    Supported log level values are : OFF, INFO, FINEST, SEVERE.

    Default value is INFO.

  4. Configuring Repository Logs:
    To enable performance logging, use the following request body:
    {   
            "level": <desired_log_level>,   
            "name":  "oracle.veridata.repo"
    }
    

    Supported log level values are : OFF, FINEST, SEVERE.

    Default value is OFF.

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.