目前有需求记录用户的每一次请求,并且需要存数据库,有什么开源项目推荐吗
1
me221 294 天前
AOP ?
|
2
aoboco 294 天前
直接写到文件。然后 fluent 收集
|
![]() |
3
karott7 294 天前 via iPhone
这还存数据库? aop 记录到日志看不就好了
|
![]() |
6
kyuuseiryuu 294 天前 via iPhone
Spring 啊🥲
|
![]() |
7
xiang0818 294 天前 ![]() /**
* Http 请求日志记录 */ public class HttpFilter extends OncePerRequestFilter { |
![]() |
8
bk201 294 天前
最好是写入文件后,自己抓取后写入数据库。比如 2L 的 fluent 收集
|
![]() |
9
ricky077 294 天前
自定义拦截器不行吗?
|
![]() |
10
ltxlouis 294 天前
[logbook]( https://github.com/zalando/logbook) 可以看看这个
|
11
cslive 294 天前
log4j 日志保存到数据库
|
![]() |
12
thetbw 294 天前
这要啥框架,拦截器记录到日志不就行了。如果需要查询,再把日志推到那些查询工具里
|
![]() |
13
wizzer 294 天前
|
![]() |
14
janus77 294 天前
直接找个 log 库,然后 log 自己写进文件或者数据库就完事了呗
|
![]() |
15
blankmiss 294 天前
怎么什么都用框架 你每一次请求直接拦截就行了 在拦截的时候做处理操作 不管你是存数据库还是存缓存
|
16
huajia2005 294 天前
自定义注解,然后 aop 异步写入数据库,一般项目这种就可以了,大项目就另说了
|
![]() |
17
pannanxu 294 天前
流量高就日志收集,不然就直接 Filter 直接入库
|
18
Vkery 294 天前
只是记录请求时间 请求地址 响应时长之类的 解析 accsee_log 就行了
如果需要对应的入参 返回值 用户信息之类的 大概就需要用 aop 或者 filter 里做处理了 |
![]() |
19
zoyua 294 天前
这个不需要参考啥开源项目吧,直接拦截存库里就行吧,不过我们业务目前是存 sls 上的
|
![]() |
20
otakustay 294 天前
前面架个 nginx 吐日志,再用 fluentd 或者 filebeat 的收集起来入库
|
![]() |
21
imaple 294 天前
AOP 异步写日志+ELK
|
![]() |
22
imaple 294 天前
感觉是在做审计相关?
|
23
meeop 294 天前
咋啥都要开源框架啊,自己写一个功能不行吗
|
24
Goooooos 294 天前
几年前流行的 ELK
|
![]() |
25
witcherhope 294 天前
说实话几分钟就能写出来的东西
|
![]() |
26
w292614191 294 天前
@Goooooos #24 现在流行啥,spirngcloud 用啥收集比较好。
|
27
MX123 294 天前
可以问一下 ChatGPT:
“是的,Java 后端开发中有许多用于记录请求的开源框架。例如,您可以使用 Apache Log4j 来记录每一次请求。Log4j 是一个强大的日志记录框架,提供了丰富的日志记录功能,并具有高度可配置性。您也可以使用 Slf4j ,它是一个日志抽象层,可以与各种日志实现(如 Log4j ,Logback 等)配合使用。此外,还有许多其他的日志记录框架,您可以根据项目的需要选择适合的框架。” |
![]() |
28
amlee 294 天前
这种需求任何框架都能满足吧,根本不必要有所谓单独的开箱即用的框架来实现
|
![]() |
29
wxw752 294 天前
先写到本地,filebeat 异步存到 ELK
|
33
git00ll 294 天前
filter
|
![]() |
34
litchinn 294 天前
1. logback 有 DBAppender
2. 如果需要自定义日志内容请参考[美团的这篇文章]( https://tech.meituan.com/2021/09/16/operational-logbook.html) 3. 如果有条件建议上 loki ,有 docker-plugin ,集成方便。 |
![]() |
35
loshine1992 294 天前
AOP + LOG 库啊。。
|
36
ecric 294 天前
你只说记录请求没有说记录之后干嘛用啊
|
37
fengpan567 294 天前
加点钱,直接 aop+elk
|
![]() |
38
xuanbg 294 天前
AOP 把请求数据输出到日志就好了吧?我是在网关上做的,docker 容器输出的日志到 fluentd ,再转发到 ES 存储起来。基本上开箱即用。百度一下 EFK 就行了。
|
![]() |
39
Nnq 294 天前
或者你可以用 opentelemetry
|
![]() |
40
lux182 293 天前
探针 比如 skywalking
|
![]() |
41
LeegoYih 293 天前
|
![]() |
42
qinxi 293 天前
用 spring 的话 spring 自带的 CommonsRequestLoggingFilter 就行, 不用自己处理流复制. 只不过没有入库的 不过请求日志都有了. 怎么写都可以, log4j2 直通队列, 或者写文件走 efk
|
![]() |
44
cco 246 天前
pinpoint
|