日志组件使用
简介
本文档介绍后端工程引入数字底座日志组件 SDK,进行应用的开发。
数字底座的操作日志利用 AOP 的方式实现,对这些注解 @RiseLog、@Path、@RequestMapping 进行拦截,执行日志记录的行为,将日志信息上报日志平台,然后日志管理平台监听日志信息,接收到日志数据并保存这些数据
具体的实现逻辑可查看 y9-digitalbase-starter/risenet-y9boot-starter-log/src/main/java/net/risesoft/log/aop/RiseLogAdvice.java
目前有两种上报日志信息的方式,选择其中一种方式即可:
- kafka,利用消息中间件 Kafka 上报日志信息,日志服务器再去消费日志数据存储。
- api,调用日志平台提供的 HTTP API 存储。
功能引用
添加依赖
添加日志组件依赖包
xml
<dependency>
<groupId>net.risesoft</groupId>
<artifactId>risenet-y9boot-starter-log</artifactId>
<version>[最新正式版本]</version>
</dependency>如需使用 SNAPSHOT 版本,且 maven 没有 POM 继承链至数字底座的 y9-digitalbase-parent 则还需将有生的私服仓库地址添加到 pom.xml 文件中。
xml
<repositories>
<repository>
<id>y9-internet-repo</id>
<url>https://svn.youshengyun.com:9900/nexus/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<!-- <updatePolicy>always</updatePolicy> -->
<!-- always,daily(default),interval:XXX,never -->
</snapshots>
</repository>
</repositories>修改配置文件
根据选择的上报方式修改配置文件:
- kafka
使用 kafka 时,还需添加 kafka 相关配置
yaml
spring:
kafka:
bootstrap-servers: localhost:9092
consumer:
group-id: y9demo-kernel-api-server
y9:
feature:
log:
enabled: true
logSaveTarget: kafkaproperties
spring.kafka.bootstrap-servers=localhost:9092
spring.kafka.consumer.group-id=y9demo-kernel-api-server
y9.feature.log.enabled=true
y9.feature.log.logSaveTarget=kafka- api
yaml
y9:
common:
logBaseUrl: http://localhost:7055/log
feature:
log:
enabled: true
logSaveTarget: apiproperties
y9.common.logBaseUrl=http://localhost:7055/log
y9.feature.log.enabled=true
y9.feature.log.logSaveTarget=api示例代码
@RiseLog 注解:
- operationName 方法名称
- logLevel 日志级别
- moduleName 业务系统名称
java
package net.risesoft.log;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import net.risesoft.log.annotation.RiseLog;
@RestController
public class LogDemoController {
@GetMapping
@RiseLog(operationName = "测试记录日志", moduleName = "日志记录演示系统")
public String log() {
return "log success";
}
}示例项目
示例项目地址:https://gitee.com/risesoft-y9/y9-core/y9-digitalbase-example/risenet-y9demo-log