org.jdbcdslog
Class StatementLoggingHandlerTemplate<T extends Statement>

java.lang.Object
  extended by org.jdbcdslog.LoggingHandlerSupport<T>
      extended by org.jdbcdslog.StatementLoggingHandlerTemplate<T>
All Implemented Interfaces:
InvocationHandler
Direct Known Subclasses:
PreparedStatementLoggingHandler, StatementLoggingHandler

public abstract class StatementLoggingHandlerTemplate<T extends Statement>
extends LoggingHandlerSupport<T>

Template for statement logging handler, which includes slow query handling, and before/after statement logging

Author:
a511990

Field Summary
protected  LogMetaData logMetaData
           
 
Fields inherited from class org.jdbcdslog.LoggingHandlerSupport
target, UNWRAP_METHOD_NAME
 
Constructor Summary
StatementLoggingHandlerTemplate(LogMetaData logMetaData, T target)
           
StatementLoggingHandlerTemplate(T target)
           
 
Method Summary
protected abstract  void appendBatchStatements(StringBuilder sb)
           
protected abstract  void appendStatement(StringBuilder sb, Object proxy, Method method, Object[] args)
           
protected abstract  void doAddBatch(Object proxy, Method method, Object[] args)
           
protected  Object doAfterInvoke(Object proxy, Method method, Object[] args, Object result)
           
protected  org.slf4j.Logger getLogger()
           
protected  org.slf4j.Logger getSlowQueryLogger()
           
protected  void handleException(Throwable t, Object proxy, Method method, Object[] args)
           
 Object invoke(Object proxy, Method method, Object[] args)
           
protected  boolean isAddBatch(Object proxy, Method method, Object[] args)
           
protected  boolean isExecuteBatch(Object proxy, Method method, Object[] args)
           
protected  void logAfterInvoke(Object proxy, Method method, Object[] args, Object result, long elapsedTimeInNano, StringBuilder message)
           
protected  void logBeforeInvoke(Object proxy, Method method, Object[] args, StringBuilder sb)
           
protected  boolean needsLogging(Object proxy, Method method, Object[] args)
           
protected  boolean needsSlowOperationLogging(Object proxy, Method method, Object[] args, Object result, long elapsedTimeInNano)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logMetaData

protected LogMetaData logMetaData
Constructor Detail

StatementLoggingHandlerTemplate

public StatementLoggingHandlerTemplate(T target)

StatementLoggingHandlerTemplate

public StatementLoggingHandlerTemplate(LogMetaData logMetaData,
                                       T target)
Method Detail

invoke

public Object invoke(Object proxy,
                     Method method,
                     Object[] args)
              throws Throwable
Specified by:
invoke in interface InvocationHandler
Specified by:
invoke in class LoggingHandlerSupport<T extends Statement>
Throws:
Throwable

doAddBatch

protected abstract void doAddBatch(Object proxy,
                                   Method method,
                                   Object[] args)

appendBatchStatements

protected abstract void appendBatchStatements(StringBuilder sb)

isExecuteBatch

protected boolean isExecuteBatch(Object proxy,
                                 Method method,
                                 Object[] args)

isAddBatch

protected boolean isAddBatch(Object proxy,
                             Method method,
                             Object[] args)

appendStatement

protected abstract void appendStatement(StringBuilder sb,
                                        Object proxy,
                                        Method method,
                                        Object[] args)

needsLogging

protected boolean needsLogging(Object proxy,
                               Method method,
                               Object[] args)

logBeforeInvoke

protected void logBeforeInvoke(Object proxy,
                               Method method,
                               Object[] args,
                               StringBuilder sb)

doAfterInvoke

protected Object doAfterInvoke(Object proxy,
                               Method method,
                               Object[] args,
                               Object result)

logAfterInvoke

protected void logAfterInvoke(Object proxy,
                              Method method,
                              Object[] args,
                              Object result,
                              long elapsedTimeInNano,
                              StringBuilder message)

needsSlowOperationLogging

protected boolean needsSlowOperationLogging(Object proxy,
                                            Method method,
                                            Object[] args,
                                            Object result,
                                            long elapsedTimeInNano)

handleException

protected void handleException(Throwable t,
                               Object proxy,
                               Method method,
                               Object[] args)
                        throws Throwable
Throws:
Throwable

getLogger

protected org.slf4j.Logger getLogger()

getSlowQueryLogger

protected org.slf4j.Logger getSlowQueryLogger()


Copyright © 2015. All rights reserved.