Здравствуйте, rosencrantz, Вы писали:
R>·>Ты вначале расскажи — кто будет читать логи и с какой целью?
R>Ну перечитай первое сообщение, там ведь хорошо написано.
R>R>С вопросами всегда приходят к вам. Что, как, и в каком объёме вы стали бы логировать? Поделитесь стратегией
R>"Если бы с вопросами всегда приходили ко мне, то я бы логировал <тут идут твои сакральные знания, добытые потом и кровью за десятилетия опыта>".
Ты просто плохо задал вопрос, как будто ты ожидаешь универсальный рецепт. Ведь всё очень зависит от ситуации. Вот я и пытаюсь выудить из тебя подробности.
С какими вопросами к тебе приходят? Какие проблемы с логами у тебя возникают сейчас?
Общие тезисы.
Надо логгировать всё что приложение получает извне и отправляет наружу.
Если объёмы данных огромны — надо думать как сократить.
не логгировать sensitive информацию (пароли/ключи/етс).
Идеально, если по логам ты можешь воспроизвести проблему локально.
Не имеет смысл логгировать то, что и так ясно из кода. Например, логгировать посылаемые в субд sql-запросы смысла нет — они и так есть в коде.
Логгировать стектрейсы исключений. Имя треда. Положение в коде (т.е. по каждому сообщению в логе должна быть возможность однозначно идентифицировать строчку в коде).
Из лога должна быть возможность однозначно определить версию кода (git commit id какой-нибудь) и текущую конфигурацию (используемые ENV, конфиги, етс).