【问题标题】:Should a web service log response data (if yes, on which level)?Web 服务是否应该记录响应数据(如果是,在哪个级别)?
【发布时间】:2018-05-16 16:45:29
【问题描述】:

响应正文中的 RESTful 服务返回 List<User>,其中

public class User {
    private String id;
    private List<String> roles;

    // constructor, getters, toString() are snipped    
}

我正在努力决定是否应该在服务中登录 List&lt;User&gt;。一方面,记录数据可能有助于找出生产中的错误原因。另一方面,日志中的“噪音”和 I/O 操作对性能的影响也应该考虑在内。记录上述用户列表的最佳做法是什么? (应该完全记录吗?只有它的.length()?什么记录级别会更好用?)

【问题讨论】:

    标签: java web-services logging


    【解决方案1】:

    这取决于。在这种情况下,它取决于List&lt;User&gt; 的典型大小,是 10 秒吗? 1000s?还依赖User对象,是否包含大量字段包括其他对象?

    通常您可以随时记录列表的大小。如果你决定记录内容,它应该在DEBUG 级别。此外,您可以覆盖User 中的toString() 以输出更紧凑的字符串表示形式。

    【讨论】:

      【解决方案2】:

      您不需要记录用户或他们的角色,您可能希望记录信息,这些信息可以指导您获得更好的性能以及以后对代码进行修改和优化。 对于级别,如果您使用的是 LOG4J,您可能希望使用 ERROR 和 WARN,INFO 和 DEBUG 是次要的。 这是a link for best practices to log in java,但您可能想查看互联网,我认为有足够的信息可以让您制定最佳的日志记录策略。

      PS:我还不熟悉 GDPR 政策,但如果您在欧洲或其他地方,您可能需要检查您的大陆政策,因为记录用户及其偏好和角色等......可能未经他们直接同意脱离法律。 This link 可能会让您了解在不触犯法律的情况下记录必要数据的最佳做法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-09
        • 1970-01-01
        相关资源
        最近更新 更多