日志log4j的文件配置

这一生的挚爱 提交于 2019-11-27 22:05:40
package com.qyf.controller;


import com.qyf.domain.SysLog;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.security.core.context.SecurityContextImpl;
import org.springframework.stereotype.Component;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.Date;

@Component
@Aspect
@EnableAspectJAutoProxy
public class SysLogController {

    @Autowired
    HttpServletRequest request;


    @Around("execution(* com.qyf.controller.*.*(..))")
    public Object pringLog(ProceedingJoinPoint pgone) {

        SysLog sysLog = new SysLog();//创建日志对象

        Object proceed = null;

        try { //前置通知

            long start=new Date().getTime(); //方法执行前时间


            proceed = pgone.proceed(pgone.getArgs());
            //后置通知

            long end=new Date().getTime(); //方法执行结束时间

            sysLog.setVisitTime(String.valueOf(end-start)); //visittime
            sysLog.setMethodName(pgone.getSignature().getName()); //methodName
            sysLog.setUrl(request.getRequestURI()); //url
            sysLog.setIp(request.getRemoteAddr()); // ip
            //获取session对象中的用户名
            HttpSession session=request.getSession();
            SecurityContextImpl sci = (SecurityContextImpl) session.getAttribute(" SPRING_SECURITY_CONTEXT");

            sysLog.setUsername(sci.getAuthentication().getName()); //username

        } catch (Throwable throwable) {

            throwable.printStackTrace();

        }finally {

            System.out.println("---------------------------");
            System.out.println(sysLog);
            System.out.println("---------------------------");
        }

        return proceed;
    }



}

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!