Спросите себя, запускаю ли я это на другой машине / в стране / на планете, и что-то идет не так, и все, что у меня есть, - это только файл журнала. Какая информация мне нужна, чтобы узнать, что пошло не так? *
Использованиеотладочные журналы в цикле for или в цикле while.Например, если вы читаете 1000 записей из файла, выполните операцию для каждой записи.Вы можете записать перед циклом for, что «файл существует и доступен для чтения и будет читать 1000 записей», и состояние печати после завершения процесса.Если это, скажем, 1000000 записей, то вы могли бы печатать что-то каждые, скажем, 100 или 1000 итераций
В вашем коде, за исключением регистратора для установки i в 0, все остальное как-то имеет смысл для меня.Также не забывайте использовать log.isDebugEnabled (), если ваша строка в статистике логгера сложно вычислить ..
ex:
if(log.isDebugEnabled) {
logger.debug("Here " + obj.aMethodCallThatTakes5MinsToEvaluateToString());
}
ОБНОВЛЕНИЕ 1: SLF4J решает только половину проблемы.
if(slfLog.isDebugEnabled) {
slfLog.debug(obj.getObjectThatTakes5Mins());
}
Да, toString запрещен, но если вы регистрируете фактический объект, который является результатом некоторых вычислений, вам не мешают.