in src/main/java/com/aliyun/dts/subscribe/clients/recordprocessor/DefaultRecordPrintListener.java [17:50]
public void consume(DefaultUserRecord record) {
OperationType operationType = record.getOperationType();
RecordSchema recordSchema = record.getSchema();
StringBuilder stringBuilder = new StringBuilder();
stringBuilder
.append("\n")
// record id can not be used as unique identifier
.append("RecordID [").append(record.getId()).append("]\n")
// record generate timestamp in source log
.append("RecordTimestamp [").append(record.getSourceTimestamp()).append("] \n")
// source info contains which source this record came from
.append("Source [").append(recordSchema.getDatabaseInfo()).append("]\n")
// record type
.append("RecordType [").append(record.getOperationType()).append("]\n");
if (operationType.equals(OperationType.INSERT)
|| operationType.equals(OperationType.UPDATE)
|| operationType.equals(OperationType.DELETE)
|| operationType.equals(OperationType.DDL)) {
stringBuilder
.append("Schema info [").append(recordSchema.toString()).append("]\n")
//before image
.append("Before image {").append(record.getBeforeImage()).append("}\n")
//after image
.append("After image {").append(record.getAfterImage()).append("}\n");
}
log.info(stringBuilder.toString());
}