也许并不是从零开始的魔法博客----博客开发日志Day02

今日份的目标

完成日志统计
完成数据库设计


版本使用git上传

顺便一提(spring security自己用的确实不熟
打算验证登录这块把前台服务做完再做(不然调试也麻烦…
或许用shiro体验会更不错唉(

流程

装配插件

装配mybatisX插件
(突然多了好多鸟
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
setting -> plugin ->search mybatisX

配置日志

这里我们来一手AOP!
从切面入手!

草, 开局导包导错了改了好久bug
在这里插入图片描述
但至少能初步使用了! 咱再改改!

过了二十分钟(…
Done!

在这里插入图片描述
成功获取了url ip 方法 和参数

package com.bedivere.gardenofavalon.asepect;


import lombok.AllArgsConstructor;
import lombok.Data;
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.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;

//定义切面, 开启主键扫描
@Aspect
@Component
public class LogAspect {

    private Logger logger = LoggerFactory.getLogger(this.getClass());

    @Pointcut("execution(* com.bedivere.gardenofavalon.controller.*.*(..))")        //定义切入点表达式
    public void log(){}

    //切面之前
    @Before("log()")
    //通过切面来获取对象
    public void doBefore(JoinPoint joinPoint) {

        //先拿到url 和 ip
        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
        HttpServletRequest request = attributes.getRequest();
        String url = request.getRequestURL().toString();
        String ip = request.getRemoteAddr();
        String classMethod = joinPoint.getSignature().getDeclaringTypeName() + "." + joinPoint.getSignature().getName();
        Object[] args = joinPoint.getArgs();
        
        RequestLog requestLog = new RequestLog(url, ip, classMethod, args);
        logger.info("Request : {}", requestLog);
    }

    @After("log()")
    public void doAfter() {
//        logger.info("------doAfter--------");

    }

    @AfterReturning(returning = "result", pointcut = "log()")
    public void doAfterReturn(Object result){

        //打印返回值
        logger.info("Result: {}",  result);
    }

    //日志记录url 访问者的ip 方法 参数
    private class RequestLog {
        private String url;
        private String ip;
        private String classMehtod;
        private Object[] args;

        public RequestLog(String url, String ip, String classMehtod, Object[] args) {
            this.url = url;
            this.ip = ip;
            this.classMehtod = classMehtod;
            this.args = args;
        }

        @Override
        public String toString() {
            return
                    "url='" + url + '\'' +
                    ", ip='" + ip + '\'' +
                    ", classMehtod='" + classMehtod + '\'' +
                    ", args=" + Arrays.toString(args) +
                    '}';
        }
    }

}

写完后发现别人怎么有日志文件我没有(草.jpg
在这里插入图片描述
即使设置了path还不生效…百度, 启动!
在这里插入图片描述
我寻思这样也咩有鸭
在这里插入图片描述
好耶! 有了, 但还是没有存到log文件夹里, 目前放在根目录
在这里插入图片描述
这样设置名字的话就会输出到log文件夹里了!

在这里插入图片描述

配置Druid数据源

在pom.xml里导入好所需要的包

数据库设计

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
养成描述好习惯(防止以后看不懂呜呜

git上传

在gitee新建了一个库, 名字就叫Avalon!
在这里插入图片描述
(草, 这图硬是上传了两分钟, 学校网这不是稀烂(x

在这里插入图片描述
git add . (记得把target去掉 呜呜呜不然好大!
工作区间传到缓存区
git commit -m “输入上传的信息”(
缓存区间传到本地仓库
git status
查看当前状态(看看是否还在缓存区
git push + shh
本地仓库上传到远程仓库
https://gitee.com/KnightBedivere/avalon

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值