Это зависит от зарегистрированных обработчиков.
По умолчанию JUL выводит на консоль через ConsoleHandler
, что является операцией ввода-вывода. Если ведение журнала настроено с помощью обработчика, который регистрирует в файл (FileHandler
) или через сеть (SocketHandler
), это также будет операция ввода-вывода.
Существует также MemoryHandler
, что не сделать запись операции ввода-вывода. Но у него очень и очень ограниченная полезность.
Использование другого каркаса журналов, такого как SLF4J, не меняет этого. Ведение журнала по своей сути является операцией ввода-вывода, поскольку вы хотите, чтобы журнал был доступен вне приложения и даже после завершения процесса. Тем не менее, по разным причинам выгодно использовать фреймворк, такой как SLF4J (ср. Почему бы не использовать java .util.logging? ).