响应正文中的RESTful服务返回List<User>
,其中
public class User {
private String id;
private List<String> roles;
// constructor, getters, toString() are snipped
}
我正在努力决定是否应该在服务中记录List<User>
。一方面,记录数据可能有助于查找生产中的错误原因。另一方面,&#34;噪音&#34;在日志和I / O操作的性能影响应考虑在内。记录上述用户列表的最佳做法是什么? (它应该完全记录吗?只有它的.length()
?什么日志记录级别会更好用?)
答案 0 :(得分:2)
这取决于。在这种情况下,它取决于List<User>
的典型大小,是10秒? 1000?它还取决于User
对象,它是否包含大量字段,包括其他对象?
通常,您始终可以记录列表的大小。如果您决定记录内容,则应该处于DEBUG
级别。此外,您可以覆盖toString()
中的User
以输出更紧凑的字符串表示形式。
答案 1 :(得分:1)
您不需要记录用户或他们的角色,您可能希望记录的信息可以为您提供更好的性能指导,以及稍后对代码的修改和优化。 对于级别,如果您使用的是LOG4J,则可能需要使用ERROR和WARN,INFO和DEBUG是次要的。 这是a link for best practices to log in java,但您可能想查看互联网,我认为有足够的信息可以帮助您制定最佳的日志记录策略。
PS:我还不熟悉GDPR政策,但是如果你在欧洲或其他地方,你可能想检查你的大陆政策,因为记录用户及其偏好和角色等......未经他们直接同意可能不合法。 This link可能会让您了解在不违法的情况下记录必要数据的最佳做法是什么。