实战:第四章:java后端日志埋点实现

前段时间架构让我弄日志埋点,因为其他工作不断延期,而且到现在也没给明确的需求,这里自己手写一套简单的日志埋点:

第一步:引入依赖

<!--aop-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-aop</artifactId>
    </dependency>
     
    <!--log4j-->
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.3</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.25</version>
    </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

第二步:因为公司有自己的日志配置,这里我简单配置一条凑合用就行,在application.properties配置:

 #日志文件路径 默认生成文件名:spring.log 为了简单便于学习这里我使用默认的
    logging.path=F:/Log4j
  • 1
  • 2

第三步:自定义注解:

package com.javaliao.portal.annotations;
     
    import org.springframework.web.bind.annotation.ResponseBody;
    import java.lang.annotation.*;
     
    /**
     *  app controller 统一包装注解类
     */
    @Target({ElementType.PARAMETER, ElementType.METHOD})//作用在参数和方法上
    @Retention(RetentionPolicy.RUNTIME)//运行时注解
    @Documented//表明这个注解应该被 javadoc工具记录
    @ResponseBody//响应时转JSON格式
    public @interface AppController {
     
        /**
         * 业务描述
         * @return
         */
        String description() default "";
        
        /**
         * 是否打日志 默认打
         */
        boolean isLog() default true;
    }

更多内容请见原文,原文转载自:https://blog.csdn.net/weixin_44519496/article/details/120583664
posted @ 2023-02-17 15:05  忘川信使  阅读(154)  评论(0编辑  收藏  举报