Должен ли веб-сервис регистрировать данные ответов (если да, на каком уровне)? - PullRequest
0 голосов
/ 16 мая 2018

Служба RESTful в теле ответа возвращает List<User>, где

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

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

Я изо всех сил пытаюсь решить, должен ли List<User> быть зарегистрирован в сервисе. С одной стороны, регистрация данных может быть полезна, чтобы найти причину ошибки в производстве. С другой стороны, следует учитывать «шум» в журналах и влияние операций ввода-вывода на производительность. Какова была бы лучшая практика, чтобы войти в упомянутый список пользователей? (Должен ли он регистрироваться полностью? Только его .length()? И какой уровень журналирования будет лучше использовать?)

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

вам не нужно регистрировать пользователей или их роли, возможно, вы захотите зарегистрировать информацию, которая даст вам указания для повышения производительности, а затем внесет изменения и оптимизации в код.для уровней, если вы используете LOG4J, вы можете использовать ERROR, а WARN, INFO и DEBUG являются вторичными.Вот ссылка на лучшие практики для входа в java , но вы, возможно, захотите проверить интернет, я думаю, что вам достаточно информации, чтобы составить оптимальную стратегию ведения журналов.

PS: iВы еще не знакомы с политиками GDPR, но если вы находитесь в Европе или где-либо еще, вы можете проверить свои политики на континенте, поскольку регистрация пользователей, их предпочтений и ролей и т. д. ... без их прямого согласия может быть вне закона. Эта ссылка может дать вам представление о том, как лучше всего регистрировать необходимые данные, не выходя из закона.

0 голосов
/ 16 мая 2018

Это зависит.В этом случае это зависит от того, какой типичный размер равен List<User>, это 10 с?1000s?Это также зависит от объекта User, содержит ли он большое количество полей, включая другие объекты?

Как правило, вы всегда можете записать размер списка.И если вы решите зарегистрировать контент, он должен быть на уровне DEBUG.Кроме того, вы можете переопределить toString() в User для вывода более компактного строкового представления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...