Вам нужно будет добавить предложение catch. Ниже приведено начало использования java.util.logging.Logger. Обратите внимание, что многие проекты используют регистратор Apache, который немного мощнее и сложнее. Допустим, у вас есть класс com.myCompany.Foo, который читает некоторые файлы
как правило, в начале класса в объявлениях статического поля у вас будет
private static final Logger LOGGER = Logger.getLogger("com.myCompany.Foo");
тогда, когда у вас есть метод, который выдает исключения (это глупый метод!)
int readFirstCharOfFile(File f) throws IOException {
FileReader reader = null;
try {
reader = new FileReader(f);
return reader.read();
}
catch (IOException ioe) {
// You have a lot of possibilities here, but this seems most reasonable
LOGGER.log(Level.SEVERE, ioe.getMessage(), ioe);
// whether you rethrow the Exception "depends" on the contract, but, in our case
// the method declaration says that we do, so we do.
throw ioe;
}
finally {
if (reader != null)
reader.close();
}
}
Сложнее всего настроить Logger для записи в нужное место. IIRC, по умолчанию идет стандартная ошибка. Там много «магии», которую я никогда полностью не понимал, поэтому я не мог объяснить все тонкости.
Вы можете получить информацию в Google, вот несколько полезных ссылок, которые я нашел. ссылка1 и ссылка2