Class SimpleArchbaseResourceAspect
java.lang.Object
br.com.archbase.resource.logger.aspect.ArchbaseLoggerAspect
br.com.archbase.resource.logger.aspect.SimpleArchbaseResourceAspect
- All Implemented Interfaces:
ArchbaseResourceAspect
public class SimpleArchbaseResourceAspect
extends ArchbaseLoggerAspect
implements ArchbaseResourceAspect
Esta classe é responsável por realizar o login nos métodos do Controlador.
Ele usou Spring AspectJ (não Spring CGLib AOP nativo) para entrelaçar a lógica de registro em métodos de controlador correspondentes.
Este aspecto usa duas anotações - Logging e NoLogging para obter controle de granulação fina sobre
comportamento de registro do método.
- Author:
- edsonmartins
- See Also:
-
Field Summary
Fields inherited from class br.com.archbase.resource.logger.aspect.ArchbaseLoggerAspect
enableDataScrubbing, paramBlacklist, paramBlacklistRegex, scrubbedValue -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidEste ponto de corte é para o ponto de junção correspondente a todos os métodos públicos no controladorlog(org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint) voidlogPostExecutionData(org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, org.springframework.util.StopWatch timer, Object result, String returnType, org.springframework.web.bind.annotation.RequestMapping methodRequestMapping, org.springframework.web.bind.annotation.RequestMapping classRequestMapping) Registra os dados seguintes no nível INFO sobre o método executado - Tempo de execução do método em milissegundosvoidlogPreExecutionData(org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, org.springframework.web.bind.annotation.RequestMapping methodRequestMapping) Registra os dados seguintes no nível INFO sobre o método de execução - Nome do método Par de nome-valor de argumento de método Solicite detalhes, incluindo referenciador, método HTTP, URI e nome de usuáriovoidvoidvoidonException(org.aspectj.lang.JoinPoint joinPoint, Throwable t) Registra qualquer exceção lançada por método.voidserialize(Object object, String objClassName, StringBuilder logMessage) Converte determinado objeto em sua representação JSON por meio deJsonUtil.voidsetLog(org.slf4j.Logger log) Methods inherited from class br.com.archbase.resource.logger.aspect.ArchbaseLoggerAspect
setCustomParamBlacklist, setDefaultScrubbedValue, setEnableDataScrubbing, setParamBlacklistRegex
-
Constructor Details
-
SimpleArchbaseResourceAspect
public SimpleArchbaseResourceAspect() -
SimpleArchbaseResourceAspect
public SimpleArchbaseResourceAspect(@Nonnull org.slf4j.Logger log)
-
-
Method Details
-
methodOrClassLoggingEnabledPointcut
public void methodOrClassLoggingEnabledPointcut()- Specified by:
methodOrClassLoggingEnabledPointcutin interfaceArchbaseResourceAspect
-
methodLoggingNotDisabledPointcut
public void methodLoggingNotDisabledPointcut()- Specified by:
methodLoggingNotDisabledPointcutin interfaceArchbaseResourceAspect
-
allPublicControllerMethodsPointcut
public void allPublicControllerMethodsPointcut()Description copied from interface:ArchbaseResourceAspectEste ponto de corte é para o ponto de junção correspondente a todos os métodos públicos no controlador- Specified by:
allPublicControllerMethodsPointcutin interfaceArchbaseResourceAspect
-
log
- Specified by:
login interfaceArchbaseResourceAspect
-
logPreExecutionData
public void logPreExecutionData(@Nonnull org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, @Nullable org.springframework.web.bind.annotation.RequestMapping methodRequestMapping) Description copied from interface:ArchbaseResourceAspectRegistra os dados seguintes no nível INFO sobre o método de execução -- Nome do método
- Par de nome-valor de argumento de método
- Solicite detalhes, incluindo referenciador, método HTTP, URI e nome de usuário
- Specified by:
logPreExecutionDatain interfaceArchbaseResourceAspect- Parameters:
proceedingJoinPoint- o objeto joinpoint que representa o método alvo
-
logPostExecutionData
public void logPostExecutionData(@Nonnull org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, @Nonnull org.springframework.util.StopWatch timer, @Nullable Object result, @Nonnull String returnType, @Nullable org.springframework.web.bind.annotation.RequestMapping methodRequestMapping, @Nullable org.springframework.web.bind.annotation.RequestMapping classRequestMapping) Description copied from interface:ArchbaseResourceAspectRegistra os dados seguintes no nível INFO sobre o método executado -- Tempo de execução do método em milissegundos
Registra os dados seguintes no nível DEBUG sobre o método executado -
- Representação JSON do objeto retornado pelo método
- Specified by:
logPostExecutionDatain interfaceArchbaseResourceAspect- Parameters:
proceedingJoinPoint- o ponto comum denotando o método executadotimer-StopWatchobjeto contendo o tempo de execução do métodoresult- o objeto retornado pelo método executadoreturnType- nome da classe do objeto retornado pelo método executado
-
onException
Description copied from interface:ArchbaseResourceAspectRegistra qualquer exceção lançada por método. Este aspecto é executado APÓS a exceção ter sido lançada, então não posso engoli-lo aqui.- Specified by:
onExceptionin interfaceArchbaseResourceAspect
-
serialize
public void serialize(@Nullable Object object, @Nonnull String objClassName, @Nonnull StringBuilder logMessage) Description copied from interface:ArchbaseResourceAspectConverte determinado objeto em sua representação JSON por meio deJsonUtil. O JSON serializado para, em seguida, anexado a instânciaStringBuilderpassada.Alguns casos excepcionais -
- Para objetos do tipo de arquivo, o tamanho do arquivo em bytes é impresso.
- Objetos simulados não são serializados. Em vez disso, uma mensagem é impressa indicando que o objeto é uma simulação objeto. Objetos simulados são detectados pela presença de substring 'mock' em seu nome de classe.
- Specified by:
serializein interfaceArchbaseResourceAspect- Parameters:
object- o objeto para serializarobjClassName- nome da classe do objeto.logMessage-StringBuilderinstância para anexar JSON serializado.
-
setLog
public void setLog(@Nonnull org.slf4j.Logger log)
-