@Override
public void onApplicationEvent(ServletRequestHandledEvent event) {
if (!debugMode) {
logger.debug("the debug switch is false!");
return;
}
if (PATTERNS.isEmpty()) {
initPattern();
}
String url = event.getRequestUrl();
String client = event.getClientAddress();
long time = event.getProcessingTimeMillis();
String method = event.getMethod();
if (serverProperties.getDebug().getExcludeAddress().contains(client)) {
return;
}
for (Pattern pattern : PATTERNS) {
if (pattern.matcher(url).matches()) {
return;
}
}
if (time > serverProperties.getDebug().getMaxProcessingTime()) {
if (logger.isWarnEnabled()) {
logger.warn(String.format("The request '%s' from '%s' with method '%s' execute '%d' more than max time '%d'!Please check it!", url, client, method, time, serverProperties.getDebug().getMaxProcessingTime()));
}
}
System.out.println("request process info:");
System.out.println("begin-----------------");
System.out.println("time=[" + time + "]");
System.out.println("url=[" + url + "]");
System.out.println("client=[" + client + "]");
System.out.println("method=[" + method + "]");
System.out.println("end-------------------");
}
java类org.springframework.web.context.support.ServletRequestHandledEvent的实例源码
DebugRequestListener.java 文件源码
项目:lodsve-framework
阅读 16
收藏 0
点赞 0
评论 0
FrameworkServlet.java 文件源码
项目:spring4-understanding
阅读 38
收藏 0
点赞 0
评论 0
private void publishRequestHandledEvent(
HttpServletRequest request, HttpServletResponse response, long startTime, Throwable failureCause) {
if (this.publishEvents) {
// Whether or not we succeeded, publish an event.
long processingTime = System.currentTimeMillis() - startTime;
int statusCode = (responseGetStatusAvailable ? response.getStatus() : -1);
this.webApplicationContext.publishEvent(
new ServletRequestHandledEvent(this,
request.getRequestURI(), request.getRemoteAddr(),
request.getMethod(), getServletConfig().getServletName(),
WebUtils.getSessionId(request), getUsernameForRequest(request),
processingTime, failureCause, statusCode));
}
}
LambdaSpringApplicationInitializer.java 文件源码
项目:aws-serverless-java-container
阅读 17
收藏 0
点赞 0
评论 0
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
if (springProfiles != null) {
applicationContext.getEnvironment().setActiveProfiles(springProfiles.toArray(new String[0]));
}
applicationContext.setServletContext(servletContext);
dispatcherConfig = new DefaultDispatcherConfig(servletContext);
applicationContext.setServletConfig(dispatcherConfig);
// Configure the listener for the request handled events. All we do here is release the latch
applicationContext.addApplicationListener(new ApplicationListener<ServletRequestHandledEvent>() {
@Override
public void onApplicationEvent(ServletRequestHandledEvent servletRequestHandledEvent) {
try {
currentResponse.flushBuffer();
} catch (IOException e) {
log.error("Could not flush response buffer", e);
throw new RuntimeException("Could not flush response buffer", e);
}
}
});
// Manage the lifecycle of the root application context
this.addListener(new ContextLoaderListener(applicationContext));
// Register and map the dispatcher servlet
dispatcherServlet = new DispatcherServlet(applicationContext);
if (refreshContext) {
dispatcherServlet.refresh();
}
dispatcherServlet.onApplicationEvent(new ContextRefreshedEvent(applicationContext));
dispatcherServlet.init(dispatcherConfig);
notifyStartListeners(servletContext);
}
FrameworkServlet.java 文件源码
项目:class-guard
阅读 30
收藏 0
点赞 0
评论 0
private void publishRequestHandledEvent(HttpServletRequest request, long startTime, Throwable failureCause) {
if (this.publishEvents) {
// Whether or not we succeeded, publish an event.
long processingTime = System.currentTimeMillis() - startTime;
this.webApplicationContext.publishEvent(
new ServletRequestHandledEvent(this,
request.getRequestURI(), request.getRemoteAddr(),
request.getMethod(), getServletConfig().getServletName(),
WebUtils.getSessionId(request), getUsernameForRequest(request),
processingTime, failureCause));
}
}
ServletRequestHandledEventListener.java 文件源码
项目:summer
阅读 17
收藏 0
点赞 0
评论 0
@Override
public void onApplicationEvent(ServletRequestHandledEvent servletRequestHandledEvent) {
logger.info(String.format("total request processing time: %d ms", servletRequestHandledEvent.getProcessingTimeMillis()));
}