java开发怎么做日志功能 就是记录用户每一步的操作具体做什么了

丶请叫我小周 2014-08-20 02:57:05
java开发怎么做日志功能 就是记录用户每一步的操作具体做什么了
并且能查询用户的操作动作
要怎么做?Java怎么写?
...全文
79237 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_21881475 2017-04-05
  • 打赏
  • 举报
回复
怎么写的啊?教教我啊,技术大牛
qq_33961211 2016-12-20
  • 打赏
  • 举报
回复
楼主,你加表字段了没?你之前不是没有用户id么,你加了没有?
silense422 2015-06-10
  • 打赏
  • 举报
回复
引用 20 楼 JDream314 的回复:
建议定一个注解,将需要记录日志的地方通过注解表示,并且配置当前操作相关信息,比如:新增用户,删除用户,更新用户。 然后做一个拦截器或者AOP,读取拦截方法的日志注解,并且读取配置的注解信息,如果你要记录请求的详细信息,可以把所有的请求参数都保存到数据库,为了确保日志记录不印象正常的业务流程或者执行效率,可以考虑采取异步执行的方式(具体可以看看jdk的Executor),这样就可以在不印象正常业务的情况下记录日志。
请问有这个异步执行与aop相结合的demo嘛?
劉胡來 2015-03-25
  • 打赏
  • 举报
回复
怎么DEBUG啊,新手求指教
Z894642627 2014-10-30
  • 打赏
  • 举报
回复
因为你登陆的时候,登陆之前,就先拦截了登陆请求,这时候你还没有登陆成功,session里面的username还是null,所以这时候会执行“MDC.put("username",DEFAULT_USERID)”,执行完了才会接着进入登陆方法,然后才是登陆成功。 解决办法:拦截的时候判断一下,如果是登陆请求,则不拦截。
丶请叫我小周 2014-08-26
  • 打赏
  • 举报
回复
引用 29 楼 u010126977 的回复:
[quote=引用 26 楼 u012521676 的回复:] [quote=引用 25 楼 u010126977 的回复:] 前几天客户提过这个,是做大数据的。从登录到退出,当时构思的是写进数据库里。
然后呢?你是怎么做的?[/quote] 这个我没有参与……我进了另一个项目组……[/quote] 好吧,虽然没有我想要的,不过还是谢谢你
Junior_s 2014-08-23
  • 打赏
  • 举报
回复
引用 26 楼 u012521676 的回复:
[quote=引用 25 楼 u010126977 的回复:] 前几天客户提过这个,是做大数据的。从登录到退出,当时构思的是写进数据库里。
然后呢?你是怎么做的?[/quote] 这个我没有参与……我进了另一个项目组……
丶请叫我小周 2014-08-22
  • 打赏
  • 举报
回复
引用 23 楼 qq_19616287 的回复:
session丢失了 在每一个用到session的地方都保存一次用户session就OK了
现在的问题是程序第一遍运行,我用wing登录进去了,但是数据库表中保存的登录用户名却是一个随机数,而不是wing public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req=(HttpServletRequest)request; HttpSession session= req.getSession(); if (session==null){ MDC.put("username",DEFAULT_USERID); } else{ UserVO user=(UserVO)session.getAttribute("user"); if (user != null){ MDC.put("username",user.getUsername()); } else { MDC.put("username",DEFAULT_USERID); } } //logger.info("test for MDC."); System.out.println(MDC.get("username")); chain.doFilter(request, response); } 那个MDC的username的value没有更新就存到数据库了,
qq_19616287 2014-08-22
  • 打赏
  • 举报
回复
session丢失了 在每一个用到session的地方都保存一次用户session就OK了
丶请叫我小周 2014-08-22
  • 打赏
  • 举报
回复
谢谢各位!我的搞定了,我用的是log4j的,日志信息可以保存到数据库,但是现在有个问题,我测试用户登录记录,但是在数据库中用户名保存的却不是登录的用户名,这是为什么,帮忙看一下,谢谢! 这是我的拦截器代码: private final static double DEFAULT_USERID= Math.random()*100000.0; public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req=(HttpServletRequest)request; HttpSession session= req.getSession(); if (session==null){ MDC.put("username",DEFAULT_USERID); } else{ String username= (String)session.getAttribute("user"); if (username==null){ MDC.put("username",DEFAULT_USERID); } else { MDC.put("username",username); } } System.out.println(MDC.get("username")); //logger.info("test for MDC."); chain.doFilter(request, response); }
wanghualeilei 2014-08-22
  • 打赏
  • 举报
回复
看需要记录的行为细化到什么程度 如果仅仅记录哪些用户 什么时间做了什么事 出现什么异常 写个拦截器即可 如果还要记录行为的具体执行过程 这个只能靠log4j了 比较麻烦 也得设计
LJ_KB 2014-08-22
  • 打赏
  • 举报
回复
我们以前公司是在每个需要记录的方法前面加个注解,注解的定义也是自己写的,其实也就是使用Spring AOP来实现的
丶请叫我小周 2014-08-22
  • 打赏
  • 举报
回复
引用 25 楼 u010126977 的回复:
前几天客户提过这个,是做大数据的。从登录到退出,当时构思的是写进数据库里。
然后呢?你是怎么做的?
Junior_s 2014-08-22
  • 打赏
  • 举报
回复
前几天客户提过这个,是做大数据的。从登录到退出,当时构思的是写进数据库里。
  • 打赏
  • 举报
回复
写个过滤器 把每次操作的请求名,时间,操作人入库
gaoerjidewo 2014-08-21
  • 打赏
  • 举报
回复
自己写的话 在你的底层方法中调用记录日志的公用方法即可
丶请叫我小周 2014-08-21
  • 打赏
  • 举报
回复
引用 14 楼 longtian1213 的回复:
[quote=引用 12 楼 u012521676 的回复:] [quote=引用 10 楼 longtian1213 的回复:] log4j吧,不过每一步都要你自己记录
那怎么用log4j的日志记录功能啊,我是要把记录的操作日志信息保存到数据库的,数据库用的是SQL Server2008[/quote] Log4j写入数据库详解[/quote] 这个我试过了,是能用,日志信息在控制台打印出来了,但是数据库中没有记录,我想知道是什么原因
S117 2014-08-21
  • 打赏
  • 举报
回复
引用 12 楼 u012521676 的回复:
[quote=引用 10 楼 longtian1213 的回复:] log4j吧,不过每一步都要你自己记录
那怎么用log4j的日志记录功能啊,我是要把记录的操作日志信息保存到数据库的,数据库用的是SQL Server2008[/quote] Log4j写入数据库详解
丶请叫我小周 2014-08-21
  • 打赏
  • 举报
回复
我想自己写一个通用的log类,里面有添加日志的静态方法(就是写插入一条记录到日志表),以后想添加一条日志的时候就直接调用该方法,这是我的思路,但是我没写过,不知道怎么写和调用,求源码
丶请叫我小周 2014-08-21
  • 打赏
  • 举报
回复
引用 10 楼 longtian1213 的回复:
log4j吧,不过每一步都要你自己记录
那怎么用log4j的日志记录功能啊,我是要把记录的操作日志信息保存到数据库的,数据库用的是SQL Server2008
加载更多回复(15)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧