Class LoggerListener
- java.lang.Object
-
- org.jooq.impl.DefaultExecuteListener
-
- org.jooq.tools.LoggerListener
-
- All Implemented Interfaces:
java.io.Serializable
,java.util.EventListener
,ExecuteListener
public class LoggerListener extends DefaultExecuteListener
A defaultExecuteListener
that just logs events to java.util.logging, log4j, or slf4j using theJooqLogger
- Author:
- Lukas Eder
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description LoggerListener()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
exception(ExecuteContext ctx)
Called in the event of an exception at any moment of the execution lifecycle.void
executeEnd(ExecuteContext ctx)
Called after executing a statement.void
outEnd(ExecuteContext ctx)
Called after fetching out parameter values from aCallableStatement
.void
recordEnd(ExecuteContext ctx)
Called after fetching a record from aResultSet
.void
renderEnd(ExecuteContext ctx)
Called after rendering SQL from aQueryPart
.void
resultEnd(ExecuteContext ctx)
Called after fetching a set of records from aResultSet
.-
Methods inherited from class org.jooq.impl.DefaultExecuteListener
bindEnd, bindStart, end, executeStart, fetchEnd, fetchStart, outStart, prepareEnd, prepareStart, recordStart, renderStart, resultStart, start, warning
-
-
-
-
Method Detail
-
renderEnd
public void renderEnd(ExecuteContext ctx)
Description copied from interface:ExecuteListener
Called after rendering SQL from aQueryPart
.Available attributes from
ExecuteContext
:ExecuteContext.connection()
: The connection used for executionScope.configuration()
: The execution configurationExecuteContext.query()
: TheQuery
object, if a jOOQ query is being executed ornull
otherwiseExecuteContext.routine()
: TheRoutine
object, if a jOOQ routine is being executed ornull
otherwiseExecuteContext.sql()
: The renderedSQL
statement that is about to be executed, ornull
if theSQL
statement is unknown..
Overridable attributes in
ExecuteContext
:ExecuteContext.sql(String)
: The renderedSQL
statement that is about to be executed. You can modify this statement freely.
- Specified by:
renderEnd
in interfaceExecuteListener
- Overrides:
renderEnd
in classDefaultExecuteListener
-
recordEnd
public void recordEnd(ExecuteContext ctx)
Description copied from interface:ExecuteListener
Called after fetching a record from aResultSet
.Available attributes from
ExecuteContext
:ExecuteContext.connection()
: The connection used for executionScope.configuration()
: The execution configurationExecuteContext.query()
: TheQuery
object, if a jOOQ query is being executed ornull
otherwiseExecuteContext.routine()
: TheRoutine
object, if a jOOQ routine is being executed ornull
otherwiseExecuteContext.sql()
: The renderedSQL
statement that is about to be executed, ornull
if theSQL
statement is unknown..ExecuteContext.statement()
: ThePreparedStatement
that is about to be executed, ornull
if no statement is known to jOOQ. This can be any of the following:
- A
java.sql.PreparedStatement
from your JDBC driver when a jOOQQuery
is being executed asStatementType.PREPARED_STATEMENT
- A
java.sql.Statement
from your JDBC driver wrapped in ajava.sql.PreparedStatement
when your jOOQQuery
is being executed asStatementType.STATIC_STATEMENT
- A
java.sql.CallableStatement
when you are executing a jOOQRoutine
- A
ExecuteContext.resultSet()
: TheResultSet
that is about to be fetched.ExecuteContext.record()
: The lastRecord
that was fetched.ExecuteContext.sqlWarning()
: TheSQLWarning
that was emitted by the database ornull
if no warning was emitted.
Note that this method is not called when executing queries that do not return a result, or when executing routines.
- Specified by:
recordEnd
in interfaceExecuteListener
- Overrides:
recordEnd
in classDefaultExecuteListener
-
resultEnd
public void resultEnd(ExecuteContext ctx)
Description copied from interface:ExecuteListener
Called after fetching a set of records from aResultSet
.Available attributes from
ExecuteContext
:ExecuteContext.connection()
: The connection used for executionScope.configuration()
: The execution configurationExecuteContext.query()
: TheQuery
object, if a jOOQ query is being executed ornull
otherwiseExecuteContext.routine()
: TheRoutine
object, if a jOOQ routine is being executed ornull
otherwiseExecuteContext.sql()
: The renderedSQL
statement that is about to be executed, ornull
if theSQL
statement is unknown..ExecuteContext.statement()
: ThePreparedStatement
that is about to be executed, ornull
if no statement is known to jOOQ. This can be any of the following:
- A
java.sql.PreparedStatement
from your JDBC driver when a jOOQQuery
is being executed asStatementType.PREPARED_STATEMENT
- A
java.sql.Statement
from your JDBC driver wrapped in ajava.sql.PreparedStatement
when your jOOQQuery
is being executed asStatementType.STATIC_STATEMENT
- A
java.sql.CallableStatement
when you are executing a jOOQRoutine
- A
ExecuteContext.resultSet()
: TheResultSet
that is about to be fetched.ExecuteContext.record()
: The lastRecord
that was fetched.ExecuteContext.result()
: The set of records that were fetched.ExecuteContext.sqlWarning()
: TheSQLWarning
that was emitted by the database ornull
if no warning was emitted.
Note that this method is not called when executing queries that do not return a result, or when executing routines. This is also not called when fetching single records, with
Cursor.fetchNext()
for instance.- Specified by:
resultEnd
in interfaceExecuteListener
- Overrides:
resultEnd
in classDefaultExecuteListener
-
executeEnd
public void executeEnd(ExecuteContext ctx)
Description copied from interface:ExecuteListener
Called after executing a statement.Available attributes from
ExecuteContext
:ExecuteContext.connection()
: The connection used for executionScope.configuration()
: The execution configurationExecuteContext.query()
: TheQuery
object, if a jOOQ query is being executed ornull
otherwiseExecuteContext.routine()
: TheRoutine
object, if a jOOQ routine is being executed ornull
otherwiseExecuteContext.sql()
: The renderedSQL
statement that is about to be executed, ornull
if theSQL
statement is unknown..ExecuteContext.statement()
: ThePreparedStatement
that is about to be executed, ornull
if no statement is known to jOOQ. This can be any of the following:
- A
java.sql.PreparedStatement
from your JDBC driver when a jOOQQuery
is being executed asStatementType.PREPARED_STATEMENT
- A
java.sql.Statement
from your JDBC driver wrapped in ajava.sql.PreparedStatement
when your jOOQQuery
is being executed asStatementType.STATIC_STATEMENT
- A
java.sql.CallableStatement
when you are executing a jOOQRoutine
- A
ExecuteContext.resultSet()
: TheResultSet
that is about to be fetched ornull
, if theQuery
returns no result set, or if aRoutine
is being executed.ExecuteContext.rows()
: The number of affected rows if applicable. In case aResultSet
is fetched, this number is only available at theExecuteListener.fetchEnd(ExecuteContext)
event.ExecuteContext.serverOutput()
: The server output if available. This may be fetched whenSettings.getFetchServerOutputSize()
> 0
Overridable attributes in
ExecuteContext
:ExecuteContext.resultSet(ResultSet)
: TheResultSet
that is about to be fetched. You can modify this result set freely, or wrapExecuteContext.resultSet()
with your enriched result set wrapper
- Specified by:
executeEnd
in interfaceExecuteListener
- Overrides:
executeEnd
in classDefaultExecuteListener
-
outEnd
public void outEnd(ExecuteContext ctx)
Description copied from interface:ExecuteListener
Called after fetching out parameter values from aCallableStatement
.Available attributes from
ExecuteContext
:ExecuteContext.connection()
: The connection used for executionScope.configuration()
: The execution configurationExecuteContext.routine()
: TheRoutine
object, if a jOOQ routine is being executed ornull
otherwiseExecuteContext.sql()
: The renderedSQL
statement that is about to be executed, ornull
if theSQL
statement is unknown..ExecuteContext.statement()
: ThePreparedStatement
that is about to be executed, ornull
if no statement is known to jOOQ. This can be any of the following:
- A
java.sql.CallableStatement
when you are executing a jOOQRoutine
- A
ExecuteContext.sqlWarning()
: TheSQLWarning
that was emitted by the database ornull
if no warning was emitted.
Note that this method is called only when executing standalone routine calls.
- Specified by:
outEnd
in interfaceExecuteListener
- Overrides:
outEnd
in classDefaultExecuteListener
-
exception
public void exception(ExecuteContext ctx)
Description copied from interface:ExecuteListener
Called in the event of an exception at any moment of the execution lifecycle.Available attributes from
ExecuteContext
:ExecuteContext.connection()
: The connection used for executionScope.configuration()
: The execution configurationExecuteContext.query()
: TheQuery
object, if a jOOQ query is being executed ornull
otherwiseExecuteContext.routine()
: TheRoutine
object, if a jOOQ routine is being executed ornull
otherwiseExecuteContext.sql()
: The renderedSQL
statement that is about to be executed, ornull
if theSQL
statement is unknown..ExecuteContext.statement()
: ThePreparedStatement
that is about to be executed, ornull
if no statement is known to jOOQ. This can be any of the following:
- A
java.sql.PreparedStatement
from your JDBC driver when a jOOQQuery
is being executed asStatementType.PREPARED_STATEMENT
- A
java.sql.Statement
from your JDBC driver wrapped in ajava.sql.PreparedStatement
when your jOOQQuery
is being executed asStatementType.STATIC_STATEMENT
- A
java.sql.CallableStatement
when you are executing a jOOQRoutine
Statement
may be closed!- A
ExecuteContext.resultSet()
: TheResultSet
that was fetched ornull
, if no result set was fetched. Note that theResultSet
may already be closed!ExecuteContext.rows()
: The number of affected rows if applicable.ExecuteContext.serverOutput()
: The server output if available. This may be fetched whenSettings.getFetchServerOutputSize()
> 0ExecuteContext.record()
: The lastRecord
that was fetched or null if no records were fetched.ExecuteContext.result()
: The last set of records that were fetched or null if no records were fetched.ExecuteContext.exception()
: TheRuntimeException
that is about to be thrownExecuteContext.sqlException()
: TheSQLException
that was thrown by the database
- Specified by:
exception
in interfaceExecuteListener
- Overrides:
exception
in classDefaultExecuteListener
-
-