Improved TRACE logging of fetched records
This commit is contained in:
parent
62c594b43e
commit
9c68bc5e95
@ -40,6 +40,8 @@ import org.jooq.ExecuteListener;
|
||||
import org.jooq.ExecuteType;
|
||||
import org.jooq.impl.DefaultExecuteListener;
|
||||
|
||||
import org.apache.log4j.Level;
|
||||
|
||||
/**
|
||||
* A default {@link ExecuteListener} that just logs events to java.util.logging,
|
||||
* log4j, or slf4j using the {@link JooqLogger}
|
||||
@ -86,18 +88,26 @@ public class LoggerListener extends DefaultExecuteListener {
|
||||
@Override
|
||||
public void recordEnd(ExecuteContext ctx) {
|
||||
if (log.isTraceEnabled() && ctx.record() != null)
|
||||
log.trace("Record fetched", ctx.record());
|
||||
logMultiline("Record fetched", ctx.record().toString(), Level.TRACE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resultEnd(ExecuteContext ctx) {
|
||||
if (log.isDebugEnabled() && ctx.result() != null) {
|
||||
String comment = "Fetched result";
|
||||
logMultiline("Fetched result", ctx.result().format(5), Level.DEBUG);
|
||||
}
|
||||
}
|
||||
|
||||
for (String line : ctx.result().format(5).split("\n")) {
|
||||
private void logMultiline(String comment, String message, Level level) {
|
||||
for (String line : message.split("\n")) {
|
||||
if (level == Level.DEBUG) {
|
||||
log.debug(comment, line);
|
||||
comment = "";
|
||||
}
|
||||
else {
|
||||
log.trace(comment, line);
|
||||
}
|
||||
|
||||
comment = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user