我目前正在使用 Spring MVC 开发一个 Restful 服务。
我读到日志记录是一个横切问题,所以我想知道使用像 log.info("A variable value")
这样的日志语句是否是不好的做法。内部服务门面方法。
我们是否应该删除这些日志语句并将它们放入拦截器类型的对象中,该对象的唯一职责是记录日志?
方法是否充满 log.debug 消息,其职责是帮助跟踪方法执行不良实践?如果是的话,如果拦截器只能访问方法参数,我们如何将这个责任转移给拦截器
- 如果我需要信息更丰富的跟踪执行,我该如何实现?
最佳答案
如果您不了解某个方法正在做什么,那么就会出现严重问题,您就失去了对软件的控制。
有时需要它,但应尽快删除。除此之外,日志语句通过添加非逻辑“噪音”使理解代码变得更加困难。
方法应该足够小,以便只需付出很少的努力就可以轻松完全理解它们,只有少数异常(exception)。参见“叔叔”鲍勃·马丁。
我被引入一个项目,因为性能太慢而无法使用。我一天之内就解决了这个问题,问题是日志记录,我删除了它,性能提高了 25 倍以上。
关于java - 在方法内部使用日志来跟踪方法的执行是不好的做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50194589/