Pull to refresh

Comments 9

Статья весьма дельная и полезная. Однако на мой взгляд Вы забыли упомянуть о том, что в коммерческих приложения логирование может раскрывать секреты и как вывод программист может помогать конкурентам. Было бы здорово, чтобы Вы о таких случаях тоже упомянули.
После релиза приложения все дебажные логи отключают, оставляя сугубо журнал событий. Оставлять такую информацию, еще и с трейсерными вызовами было бы опрометчиво. Хотя я ловил такие логи у некоторых скачанных с маркета Android приложениях :)
Как будто java-декомпиляторов не существует…
Спасибо за комментарий.
С разработкой коробочных решений я не сталкивался. А решения, в разработке которых брал участие, — полностью, вместе с исходными кодами, передавалось заказчику. Так что, проблемы раскрытия секретов просто не стоял. Кроме того, предоставлялась последующая гарантийная поддержка. И в этом случае полноценное протоколирование и трассировка просто необходимы как самому заказчику, так и команде сопровождения.
В любом случае очень интересная мысль, — наверное, идея для отдельной статьи :)
Может кто знает, вопрос конкретно по реализации логирования на С++ под Windows:
возможно ли каким-то способом прозрачно получить в текущей функции имя вызывающей функции? Прозрачно здесь означает не передавая через параметры это имя явно. В служебных функциях при выводе данных в лог хочется знать кто «виновник» изначально.
Smell: если вам действительно это надо — вы скорее всего что-то делаете не так
Можно подробней о AOP не совсем понял что Вы имеете в виду под «прикрутить»? )
В с++ «из коробки» AOP нет и никогда не было. Возможно добавить свой «логгер» вида «вошли в функцию — вышли из функции» руками (многие так и делают) — но это утомительно. Гораздо проще повесить аспект «логировать вход и выход из функций», который (например) будет логировать входы-выход в per-thread контейнер, доступный из функций непосредственно логгера (например в ERROR строке лога чтобы отображать данные из этого контейнера).
Sign up to leave a comment.