一个基于AOP的通用日志解决方案starter https://gitee.com/hj2017hhh/common-logs-starter-solution/tree/master 的重构版本,使用Builder设计模式,使用起来更加轻松,不在配置springboot上下文文件
使用了Builder设计模式+javassist+AOP
详见使用说明
<dependency>
<groupId>com.logstash</groupId>
<artifactId>web-logger-logstash-starter</artifactId>
<version>0.0.2-SNAPSHOT</version>
</dependency>
@Configuration
public class LogerAppenderConfig implements LogerAppenderConfigurer {
@Autowired
private JdbcTemplate jdbcTemplate;
@Autowired
private DataSource dataSource;
@Override
public void configure(LogerAppernderServiceConfigurer configurer) throws Exception {
// 数据库文件存放 /db目录下
// configurer.jdbc(jdbcTemplate).sysCode("demo-system");
// 数据库文件存放 /db目录下
configurer.jdbc(dataSource).sysCode("demo-system");
/// 文件模式
// configurer.inFile().sysCode("demo-system").logFilePath("demo-system.log");
}
}
4.1 如果是logType为JDBC,请下载文件https://gitee.com/hj2017hhh/common-logs-starter-reconsitution/blob/master/web-logger-logstash-starter/db/init.sql
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3308/test?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&useSSL=false
username: root
password: 123456
package com.demo.controller;
@RestController
@LogstashModule("用户管理")//加入该注解就会记录日志
public class UserController {
@Autowired
private UserService userService;
/**
* 登陆消息验证
*/
@RequestMapping(value = "/toLogin")
@API("用户登陆")//接口功能介绍
public JSONOperation<?> toLogin(UserAuth userAuth, HttpServletRequest request, HttpServletRequest response) {
//System.out.println(1/0);//测试异常
JSONObject loginJson = userService.userLogin(userAuth,true);
// 表示登陆成功
if (loginJson.get("key").equals("success")) {
return JSONOperation.success("登陆成功!", userAuth);
}
return JSONOperation.fail(loginJson.getString("msg"));
}
/**
* 用户列表
*/
@RequestMapping(value = "/list")
@API("用户列表")
public JSONOperation<?> list(String name, HttpServletRequest request, HttpServletRequest response) {
List<UserAuth> list = userService.list(name);
return JSONOperation.success(list);
}
}
- Fork 本仓库
- 新建 Feat_xxx 分支
- 提交代码
- 新建 Pull Request