使用方法中的日志跟踪方法的执行是不好的做法?

时间:2018-05-05 22:33:31

标签: java log4j spring-aop

我目前正在使用spring MVC开发一个restful服务。

我已经读过日志记录是一个横切的问题所以我想知道在服务外观方法中使用log.info("A variable value")等日志语句是不好的做法。

  • 我们是否应该删除这些日志语句并将它们放在拦截器类型的对象中,该对象的单一职责是记录?

  • 是一个充满log.debug消息的方法,其职责是帮助跟踪方法执行不良做法?如果是,如果拦截器只能访问方法参数,我们如何将此职责移交给拦截器

  • 如果我需要更具信息性的追踪执行,我该如何实现?

2 个答案:

答案 0 :(得分:1)

  1. 如果你不明白方法的作用是有什么问题,你就失去了对软件的控制。

  2. 有时需要它,但应尽快删除。除其他事项外,日志语句通过添加非逻辑"噪声"来使理解代码变得更加困难。

  3. 方法应该足够小,只需很少的努力就可以轻松完全理解,只有少数例外。见"叔叔"鲍勃马丁。

  4. 我被引入了一个项目,因为性能方式无法使用缓慢。我在一天内解决了这个问题,它是日志记录,我将其删除,性能提高了一倍> 25X。

答案 1 :(得分:0)

这不一定是不好的做法,但你应该尽量避免twitter在加密之前用纯文本记录用户密码的错误