实战:第四章: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