Правила логирования

  1. Все данные, критически важные для выполнения ПО, персональные и финансовые данные (сокр. КД), должны протоколироваться на уровне не ниже info
  2. Фиксирование процесса исполнения так же важно, как и фиксирование ошибок
  3. Функция, содержащая КД, должна протоколироваться целиком, от начала и до конца
  4. Каждый протоколируемый блок кода (Например: функция) должен иметь уникальный идентификатор в логе и все записи в логе от этого блока должны начинаться с его идентификатора
  5. Начало и конец протоколируемого кода необходимо обозначать одинаковыми, заранее оговоренными словами (например: catch, end)
    Mar 12 11:49:12 vsr-s1 crm[98875]: change_account_tel catch =========================================>
  6. Фиксируются следующие переменные и их изменение:
    1. используемые при проверки условий
    2. содержащие КД
      Mar 12 11:49:12 vsr-s1 crm[98875]: change_account_tel account_id:        111216
  7. Фиксируются результаты проверки условий (Например: отработало условие что клиент - мужчина)
    Mar 12 11:49:12 vsr-s1 crm[98875]: change_account_tel start client is man
  8. Допускается использование добавочного идентификатора после основного чтобы идентифицировать вложенные блоки (Например: вложенный блок верификации )
    Mar 12 11:49:12 vsr-s1 crm[98875]: change_account_tel verification account_id:        111216
  9. Если блок кода работает с каким либо идентификатором, который известен пользователю (Например: номер заявки), его рекомендуется фиксировать в логе как можно ближе к началу блока и называть идентификатором, единым для всех блоков кода.