Что происходит, когда программа входит в консоль? - PullRequest
0 голосов
/ 05 июня 2019

У меня запущено приложение на сервере java, которое использует Logback в качестве своей основной библиотеки журналов.Недавно я попросил разработчика удалить дополнительные журналы консоли, которые они добавили для среды, не предназначенной для разработки, и когда они спросили меня, почему понял, что у меня нет веских причин для этого.

Дополнительное ведение журнала, которое я считаю, вызовет больше операций ввода-вывода, но также добавит ли оно больше памяти?Насколько велик буфер, в который он записывает данные в stdout, и когда он очищается?

Наша стандартная запись в журнал - это файл, который мы можем просматривать, или он также передается в инструменты мониторинга.Приложение развертывается с помощью автоматизированного процесса и работает без головы, поэтому обычно на виртуальной машине никто не смотрит на вещи.

Пример ведения журнала приложений ( Конфигурации Dropwizard )

logging:
  level: INFO
  appenders:
    - type: file
      currentLogFilename: /var/log/myapplication.log
      archive: true
      archivedFileCount: 5
    - type: console
      target: stdout

По существу, существует ли вред для входа в консоль, когда он не используется, и что это принимает в формеиз

Ответы [ 2 ]

1 голос
/ 05 июня 2019

Если вы не регистрируете миллионы записей, ведение журнала не оказывает заметного влияния на производительность.

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

0 голосов
/ 06 июня 2019

Вход в STDOUT может быть полезен, если вы запускаете свое приложение внутри контейнера, такого как Docker.Docker может извлечь что-либо, записанное в STDOUT и STDERR, в любой контейнер, который он запускает с использованием docker logs, или может перенаправить на другой сервер.Если приложение будет писать в файл журнала, локальный по отношению к контейнеру, в котором оно выполняется, доступ к этому файлу будет гораздо сложнее извне контейнера.

...