Способы стандартизировать вход в систему большого JAVA-приложения

Их называют временными, потому что в большинстве случаев, пользователь может предположить, что она может безопасно разгрести бардак во временных директорах В противном случае в целом, эти файлы заблокированы так или иначе.

В целом, эти файлы должны быть недолгими: создайте их, используйте их для любой потребности, Вы имеете, удаляете их на месте. В худшем удалите их при выходе из приложения.

Когда-то, Вы не можете, например, менеджер архива или VCS, позволяющий смотреть на файл с редактором (или различное средство просмотра, и т.д.), но закрытый перед редактором (или не способные контролировать порожденный процесс...).

6
задан Lóránt Pintér 29 September 2009 в 20:56
поделиться

3 ответа

ИМХО рекомендации по ведению журнала о том, что составляет хороший уровень операторов журнала, редко встречаются даже среди крупных фреймворков и продуктов, в первую очередь из-за более важных рекомендаций, связанных с

  • многословием журнала - более подробные утверждения должны отображаться как операторы отладки , а вызовы log.debug () должны быть завершены вызовом, чтобы проверить, включена ли отладка. Разработчикам часто необходимо правильно различать FATAL, ERROR, INFO, DEBUG и TRACE - не все исключения являются фатальными, и не все сообщения информативны.
  • Использование TRACE или аналогичного - это должно быть зарезервировано для потока выполнения. В идеале для указания потока управления не требуется никаких других операторов журнала.
  • DEBUG vs INFO - операторы DEBUG часто предназначены для разработчиков и обслуживающего персонала; ИНФОРМАЦИЯ часто предназначена для пользователей и администраторов.
  • переопределить toString () - это полезно для регистрации состояния сложных объектов.

Тем не менее, я следую нескольким общим правилам большого пальца на самом низком уровне:

  • Регистрируйте данные как есть, без форматирования. Таким образом, в случае ошибки я знаю, какие данные вызвали проблему, вместо того, чтобы сомневаться в регистраторе, форматировщике и приложении одновременно.
  • Избегайте создания слишком большого количества объектов String, если вы не работаете с включенными DEBUG или TRACE. Короче говоря, избегайте объединения слишком большого количества строк. Даже если log4j в конечном итоге проверяет, включен ли DEBUG или нет, объекты String были созданы, и поэтому важна упаковка вызовов журнала. slf4j помогает избежать этого, используя параметризованные сообщения .
6
ответ дан 9 December 2019 в 22:36
поделиться

Вы можете использовать АОП (AspectJ - лучший вариант) для записи того, что передается в методы. вы даже можете использовать pointcut только для методов, чтобы не было слишком много журналов. Вы можете написать аннотацию метода, например @Loggable, и установить для нее pointcut, чтобы каждый метод с этими параметрами регистрировался.

Я думаю, что аспекты - лучший способ здесь.

example

2
ответ дан 9 December 2019 в 22:36
поделиться

Стандартизируйте сообщения с помощью API или строковых форматов, на которые ссылаются разработчики при построении операторов журнала. Они не должны вводить такой текст в программу, даже для регистрации, именно по тем причинам, которые вы называете. Естественно, это означает, что вам также нужна политика и проверки для обеспечения ее соблюдения.

3
ответ дан 9 December 2019 в 22:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: