一个web系统,客户有这样的要求:把每个登录人员访问的url地址及时间全部记录下来, 系统是jsp 实现,我的想法是加一个Filter ,在这个Filter中做记录, 当在线人员多时,所有的操作都要被这个filter 过一遍,如果在Filte中做过多的操作,估计会影响性能,那么有没有什么办法实现这个需求呢? 我能想到的是:
1 内存中放一个 ArrayList , 记录下url+时间+用户ID,当记录条数达到一定数量时,比如1000条时,再保存到数据库中
2 使用第三方的缓存框架,让它们来缓存并序列化到磁盘中
各位能给点什么建议吗。谢谢
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
用filter可以,用过滤后缀名来保证只记录一次就好了,开销不会很大,不推荐用数据库,这种日志信息直接写日志文件最合适,把日志信息缓存在内存里,再搞一个后台线程做集中写入,可以做到对性能影响最小