раскрыть ветку (3)
Программа во время работы может "логировать" происходящие события текстом, например "подключился к серверу". Даже опытные (но не очень умные) программисты не всегда соображают, где этот текст должен появиться.
System.out.print() - это вывод на экран, что редко правильно. Ведь экран - для общения с пользователем, а логирование - это для анализа работы программы создателями программы, а не пользователем.
log4j - это специализированная библиотека логирования, она может и на экран выводить логи, и в файл, и на сервер, в зависимости от настроек. В любом случае, даже если вывод прямо сейчас идёт на экран, внутренняя функция не должна писать на экран напрямую, иначе невозможно переключиться на логирование куда-то ещё без исправления кода. А если программа пишет в log4j (т.е. "логирование для Джава"), то переключение получателя логов можно делать файлом настроек логирования без изменения кода.
К безопасности всё это не много отношения имеет, только к засиранию экрана сообщениями, непонятными пользователю.
System.out.print() - это вывод на экран, что редко правильно. Ведь экран - для общения с пользователем, а логирование - это для анализа работы программы создателями программы, а не пользователем.
log4j - это специализированная библиотека логирования, она может и на экран выводить логи, и в файл, и на сервер, в зависимости от настроек. В любом случае, даже если вывод прямо сейчас идёт на экран, внутренняя функция не должна писать на экран напрямую, иначе невозможно переключиться на логирование куда-то ещё без исправления кода. А если программа пишет в log4j (т.е. "логирование для Джава"), то переключение получателя логов можно делать файлом настроек логирования без изменения кода.
К безопасности всё это не много отношения имеет, только к засиранию экрана сообщениями, непонятными пользователю.
раскрыть ветку (2)


Баяны
324K поста15.2K подписчиков
Правила сообщества
Сообщество для постов, которые ранее были на Пикабу.