org.jdbcdslog
Class StatementLoggingHandlerTemplate

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

public abstract class StatementLoggingHandlerTemplate
extends LoggingHandlerSupport

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

Author:
a511990

Field Summary
protected  StringBuilder batchStatements
           
 
Fields inherited from class org.jdbcdslog.LoggingHandlerSupport
target, UNWRAP_METHOD_NAME
 
Constructor Summary
StatementLoggingHandlerTemplate(Object 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

batchStatements

protected StringBuilder batchStatements
Constructor Detail

StatementLoggingHandlerTemplate

public StatementLoggingHandlerTemplate(Object 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
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 © 2014. All rights reserved.