С точки зрения безопасности, это зависит от того, что регистрируется. Если NSLog
(или другие регистраторы) записывают конфиденциальную информацию, то вы должны удалить регистратор в рабочем коде.
С точки зрения аудита, аудитор не хочет рассматривать каждое использование NSLog
, чтобы убедиться, что он не регистрирует конфиденциальную информацию. Он / она просто скажет вам удалить регистратор.
Я работаю с обеими группами. Мы проводим аудит кода, пишем руководства по кодированию и т. Д. Наше руководство требует, чтобы ведение журнала было отключено в рабочем коде. Так что внутренние команды знают, что не стоит пробовать;)
Мы также отклоним внешнее приложение, которое входит в систему, поскольку мы не хотим принимать на себя риск, связанный со случайной утечкой конфиденциальной информации. Нам все равно, что говорит нам разработчик. Его просто не стоит тратить время на расследование.
И помните, мы определяем «чувствительный», а не разработчик;)
Я также воспринимаю приложение, которое выполняет много журналирования, как приложение, готовое взорваться. Есть причина, по которой так много журналирования выполняется / необходимо, и это обычно не стабильность. Это прямо там с «сторожевыми» потоками, которые перезапускают зависшие сервисы.
Если вы никогда не проходили обзор архитектуры безопасности (SecArch), мы рассмотрим такие вещи.