Skip to content

Commit

Permalink
添加aop纪录请求信息
Browse files Browse the repository at this point in the history
  • Loading branch information
longfeizheng committed Mar 18, 2018
1 parent 01f7991 commit 1968501
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 8 deletions.
50 changes: 50 additions & 0 deletions src/main/java/cn/merryyou/logback/aspect/HttpAspect.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package cn.merryyou.logback.aspect;

import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

import javax.servlet.http.HttpServletRequest;

/**
* Created by zlf
* 2017-03-18 12:31
*/
@Aspect
@Component
public class HttpAspect {

private final static Logger logger = LoggerFactory.getLogger(HttpAspect.class);


@Pointcut("execution(public * cn.merryyou.logback.controller.*.*(..))")
public void log() {
}

@Before("log()")
public void doBefore(JoinPoint joinPoint) {
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = attributes.getRequest();

//url method ip
logger.info("利用AOP记录每次请求的有关信息,url={},method={},ip={}", request.getRequestURL(), request.getMethod(), request.getRemoteAddr());

//类方法 参数
logger.info("class_method={}, args={}", joinPoint.getSignature().getDeclaringTypeName() + "." + joinPoint.getSignature().getName(), joinPoint.getArgs());
}

@After("log()")
public void doAfter() {
logger.info("利用AOP记录每次请求完成后的信息");
}

@AfterReturning(returning = "object", pointcut = "log()")
public void doAfterReturning(Object object) {
logger.info("response={}", object.toString());
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -32,16 +32,18 @@ public class MyUserDetailsService implements UserDetailsService, SocialUserDetai
@Autowired
private SysMenuService sysMenuService;

/**
* 从数据库查询用户信息
* @param username
* @return
* @throws UsernameNotFoundException
*/
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
log.info("【MyUserDetailsService】 loadUserByUsername 表单登录用户名 username={}", username);
String permissions = "";

SysUser user = repository.findByUsername(username);
String password = passwordEncoder.encode("123456");

// log.info("数据库密码是:password={}",password);
// return user;
if (user != null) {
permissions = sysMenuService.getPermissions(username);
log.info(permissions);
Expand All @@ -50,13 +52,15 @@ public UserDetails loadUserByUsername(String username) throws UsernameNotFoundEx
return new SysUser(username, "", AuthorityUtils.commaSeparatedStringToAuthorityList(permissions));
}

/**
* 社交登录查询用户信息
* @param userId
* @return
* @throws UsernameNotFoundException
*/
@Override
public SocialUserDetails loadUserByUserId(String userId) throws UsernameNotFoundException {
SysUser user = repository.findByUsername(userId);
// String password = passwordEncoder.encode("123456");

// log.info("数据库密码是:password={}",password);
return user;
// return new SocialUser(userId,"123456", AuthorityUtils.commaSeparatedStringToAuthorityList("ROLE_ADMIN"));
}
}

0 comments on commit 1968501

Please sign in to comment.