Red Hat Training

A Red Hat training course is available for Red Hat JBoss Data Virtualization

9.3. Audit Logging API

If you want to build a custom appender for command logging that will have access to java.util.logging.LogRecords to the "AUDIT_LOG" context, the handler will receive a message that is an instance of LogRecord. This object will contain a parameter of type org.teiid.logging.AuditMessage. The relevant Red Hat JBoss Data Virtualization classes are defined in the teiid-api-[versionNumber].jar. AuditMessages are logged at the DEBUG level. An example follows.
package org.something;
import java.util.logging.Handler;
import java.util.logging.LogRecord;

public class AuditHandler extends Handler {
    @Override
    public void publish(LogRecord record) {
        AuditMessage msg = (AuditMessage)record.getParameters()[0];
        //log to a database, trigger an email, etc.
    }

    @Override
    public void flush() {
    }

    @Override
    public void close() throws SecurityException {
    }
}