Я разработчик в компании, чьи продукты развернуты за рубежом. Когда служба поддержки спрашивает об определении проблемы, моими единственными инструментами для диагностики являются мои файлы журналов и копия базы данных клиента. Используя базу данных и мою среду разработки, у меня есть возможность воспроизвести ошибочный случай, потому что я записываю входящие данные в свой модуль и связанные действия. Если я могу воспроизвести ошибку с помощью собранных данных, я могу исправить ее с помощью отладки. Если бы у меня не было файлов журналов, мне бы пришлось зависеть от того, что заказчик или служба поддержки описали, что и в каком случае происходит (что может ввести в заблуждение).
Во-вторых, ведение журнала дает мне возможность обнаружить узкие места моего модуля на развернутом сайте, так как я регистрирую дату и время определенных действий, а затем я могу посмотреть, какое действие занимает сколько времени.
Кроме того, предположим, что наше решение состоит из 6 модулей, и я вижу журналы ошибок в моих файлах журналов о тайм-аутах базы данных. Если эти ошибки также регистрируются в 5 других модулях, вероятность того, что это проблема, связанная с сервером SQL, возрастает. Если это регистрируется только в моем модуле, то вероятность того, что мои запросы содержат ошибки, возрастает. Я думаю, что такие вещи являются полезными индикаторами.
От того, какие данные я вижу в файлах журналов, зависит от конфигурации уровня журналов. Если это новый продукт, мы устанавливаем уровень журнала «Все», чтобы собрать как можно больше данных. Но когда мы улучшаем продукт, мы можем предпочесть сохранить уровень журнала на уровне «Ошибка», чтобы регистрировать только ошибки, но не журналы уровня информации и т. Д.