Urughhh. Я попытался исправить это со всеми вышеперечисленными решениями, но ничего не получилось. Наконец, работа была:
Я не думаю, что существуют любые твердые правила; с помощью уровней log4j-типа мои 'эмпирические правила' - что-то как:
Не набор в камне, но общее представление о том, как я думаю о нем.
Неофициально я использую этот вид иерархии,
, я буду обычно выпускать с зарегистрированной ИНФОРМАЦИЕЙ, но только если я знаю, что файлы журнала на самом деле рассматриваются (и размер не является проблемой), иначе это, ПРЕДУПРЕЖДАЮТ.
Думайте о том, кто должен использовать каждый уровень. В моем коде я сохраняю ОТЛАДКА зарезервированным для вывода разработчика, например, произвожу, который только помог бы разработчику. ПОДРОБНЫЙ используется для обычного пользователя, когда много информации необходимо. ИНФОРМАЦИЯ я использую для нормального показа крупных событий (например, отправка веб-страницы, проверяя что-то важное).
И СБОЙ и ПРЕДУПРЕЖДАЕТ , симпатичен сам объяснительный.
Соглашение в моей команде состоит в том, чтобы использовать debug
, если что-то вычисляется в сообщении, тогда как info
используется для простого текста. Таким образом, в действительности info
покажет Вам, что происходит, и debug
покажет значения вещей, которые происходят.
Я склонен быть нацеленным на ИНФОРМАЦИЮ к пользователю, чтобы дать им сообщения, которые не являются даже предупреждениями. ОТЛАДКА имеет тенденцию быть для использования разработчика где я выходные сигналы, чтобы помочь проследить поток через код (со значениями переменных также).
мне также нравится другой уровень ОТЛАДКИ (DEBUG2?), который дает абсолютный bucketloads отладочной информации, такой как шестнадцатеричные дампы всех буферов и так далее.