Сообщение Re: Logging. Лучшие практики от 06.02.2019 9:24
Изменено 06.02.2019 9:26 vsb
Re: Logging. Лучшие практики
Я пока к такому варианту пришел.
error/fatal это то, чего происходить не должно. Логгируется в отдельный файл, любая запись в этом файле это баг, который надо исправлять.
warn это то, чего происходить не должно при нормальной работе. Например если есть HTML-форма, с неё приходит дата в формате дд.мм.гггг, а реально пришло что-то другое. Т.е. формально это не баг, система работает как положено, но реально что-то не то происходит. Тоже отдельный файл, который мониторится но он не обязан быть пустым.
info это все действия-изменения, произошедшие с системой. Чтобы видеть что там вообще происходит. Обычно в консоль пускается именно это. Залогинился, создал запись, удалил запись и тд. Эдакий примитивный аудит, чтобы если что, можно было быстро понять что там происходило с логической точки зрения.
debug это уже отладка. Логгируется в отдельный файл, хранится например за последнюю неделю, который обычно не смотрится, используется для багов. Каких-то правил нет, главное не генерировать слишком много информации, чтобы не влияло на общую скорость работы и не забивало диск.
trace — самая подробная отладка, которая не включается в обычном режиме. Можно включить для конкретного модуля если вдруг не хватает остальной информации. Тот же debug но без ограничений.
Формат — обычные текстовые файлы. Пока не ощущал необходимости в каких-то специальных продуктах для логов, но если вдруг надо, какая разница, это же всё тривиально настраивается.
error/fatal это то, чего происходить не должно. Логгируется в отдельный файл, любая запись в этом файле это баг, который надо исправлять.
warn это то, чего происходить не должно при нормальной работе. Например если есть HTML-форма, с неё приходит дата в формате дд.мм.гггг, а реально пришло что-то другое. Т.е. формально это не баг, система работает как положено, но реально что-то не то происходит. Тоже отдельный файл, который мониторится но он не обязан быть пустым.
info это все действия-изменения, произошедшие с системой. Чтобы видеть что там вообще происходит. Обычно в консоль пускается именно это. Залогинился, создал запись, удалил запись и тд. Эдакий примитивный аудит, чтобы если что, можно было быстро понять что там происходило с логической точки зрения.
debug это уже отладка. Логгируется в отдельный файл, хранится например за последнюю неделю, который обычно не смотрится, используется для багов. Каких-то правил нет, главное не генерировать слишком много информации, чтобы не влияло на общую скорость работы и не забивало диск.
trace — самая подробная отладка, которая не включается в обычном режиме. Можно включить для конкретного модуля если вдруг не хватает остальной информации. Тот же debug но без ограничений.
Формат — обычные текстовые файлы. Пока не ощущал необходимости в каких-то специальных продуктах для логов, но если вдруг надо, какая разница, это же всё тривиально настраивается.
Re: Logging. Лучшие практики
Я пока к такому варианту пришел.
error/fatal это то, чего происходить не должно. Логгируется в отдельный файл, любая запись в этом файле это баг, который надо исправлять.
warn это то, чего происходить не должно при нормальной работе. Например если есть HTML-форма, с неё приходит дата в формате дд.мм.гггг, а реально пришло что-то другое. Т.е. формально это не баг, система работает как положено, но реально что-то не то происходит. Тоже отдельный файл, который мониторится но он не обязан быть пустым.
info это все действия-изменения, произошедшие с системой. Чтобы видеть что там вообще происходит. Обычно в консоль пускается именно это. Залогинился, создал запись, удалил запись и тд. Эдакий примитивный аудит, чтобы если что, можно было быстро понять что там происходило с логической точки зрения.
debug это уже отладка. Логгируется в отдельный файл, хранится например за последнюю неделю, который обычно не смотрится, используется для багов. Каких-то правил нет, главное не генерировать слишком много информации, чтобы не влияло на общую скорость работы и не забивало диск.
trace — самая подробная отладка, которая не включается в обычном режиме. Можно включить для конкретного модуля если вдруг не хватает остальной информации. Тот же debug но без ограничений.
Формат — обычные текстовые файлы. Пока не ощущал необходимости в каких-то специальных продуктах для логов, но если вдруг надо, какая разница, это же всё тривиально настраивается.
Контекст — user ID и user IP. Этого хватает, чтобы вычленить действия именно этого юзера.
error/fatal это то, чего происходить не должно. Логгируется в отдельный файл, любая запись в этом файле это баг, который надо исправлять.
warn это то, чего происходить не должно при нормальной работе. Например если есть HTML-форма, с неё приходит дата в формате дд.мм.гггг, а реально пришло что-то другое. Т.е. формально это не баг, система работает как положено, но реально что-то не то происходит. Тоже отдельный файл, который мониторится но он не обязан быть пустым.
info это все действия-изменения, произошедшие с системой. Чтобы видеть что там вообще происходит. Обычно в консоль пускается именно это. Залогинился, создал запись, удалил запись и тд. Эдакий примитивный аудит, чтобы если что, можно было быстро понять что там происходило с логической точки зрения.
debug это уже отладка. Логгируется в отдельный файл, хранится например за последнюю неделю, который обычно не смотрится, используется для багов. Каких-то правил нет, главное не генерировать слишком много информации, чтобы не влияло на общую скорость работы и не забивало диск.
trace — самая подробная отладка, которая не включается в обычном режиме. Можно включить для конкретного модуля если вдруг не хватает остальной информации. Тот же debug но без ограничений.
Формат — обычные текстовые файлы. Пока не ощущал необходимости в каких-то специальных продуктах для логов, но если вдруг надо, какая разница, это же всё тривиально настраивается.
Контекст — user ID и user IP. Этого хватает, чтобы вычленить действия именно этого юзера.