Каковы наилучшие методы регистрации корпоративного приложения?
Каковы некоторые стандарты ведения журнала для корпоративного приложения?
Есть ли у кого-нибудь официальные документы по этой теме?
Ответы
Ответ 1
См. Microsoft Корпоративная библиотека. Он включает в себя блок регистрации протоколов, и эта документация может быть тем, что вы ищете. Вы можете увидеть Документацию MSDN без предварительной установки библиотеки. В частности, см. Ключевые сценарии и Конструкция блока приложений ведения журнала чтобы ответить на ваш вопрос (возможно, даже если вы не используете .NET).
ОБНОВЛЕНИЕ (23 апреля 2013 г.) См. Охватывание семантической регистрации с использованием нового Блок приложений семантического ведения журнала
Ответ 2
Хорошая статья написана на эту тему в разделе "Эффективные методы ведения журналов" облегчают развитие предприятия
Суть это:
- Знайте необходимость регистрации.
- Поймите, какие опции доступны и какие подходят вам лучше всего (зависит от платформы/ОС/и т.д.)
- Планируйте стратегию заранее до ее реализации.
- Продолжайте просматривать и вносить изменения.
Ответ 3
Некоторые советы:
- log не более, чем необходимо в выпуске/выпуске
- Ошибка журнала, если это возможно:
- поместить операцию журнала в temp var (вектор/список)
- в конце, если ошибок не происходит, отбросить журналы, в другом случае отправить в файл журнала
- создать флаг для управления уровнем информации в журнале
- поведение управляющего журнала в среде производства/разработки
- контроль concurrency доступ к файлу журнала
- определить, сколько длинного журнала файлов требуется
- контролировать, сколько журналов файла времени должно быть сохранено.
- иногда требуется выполнить проверку производительности, при необходимости поставить таймеры
Ответ 4
Существует множество фреймворков регистрации, в том числе log4net и log4j, но правильный для вас будет зависеть от вашей платформы и системы.
Лучшие методы ведения журнала будут во многом зависеть от вашей платформы и дизайна вашей системы. Вам нужно знать/решать, сколько информации вам нужно для диагностики определенного типа проблем. Как правило, вы должны использовать свой код таким образом, чтобы не требовалось много повторений или модификации кода. Структуры ведения журналов в .NET, которые используют классы и методы Attributed, являются хорошим примером малоэффективного инструментария. Вы также должны иметь возможность изменять уровень ведения журнала (Low through Verbose) через конфигурацию без необходимости выключать или перезапускать любые службы.
Ответ 5
Если вы действительно хотите погрузиться в философию по этому вопросу, попробуйте "Не верьте в структурированную регистрацию" в блоге Miloslav Trmač.
"... эти уроки были усердно изучены..."
Ответ 6
Serilog - еще одно структурированное решение для регистрации, которое стало популярным, поскольку вопрос был задан впервые.
В своем интервью г-н Блумхардт рассказывает о создании библиотеки в результате переживания боли, которую мы все испытали. Они говорят на шоу о простой регистрации в ходе первоначальной разработки и формализации регистрации, поскольку проект созревает. Хороший материал и может добавить в базу знаний о лучших практиках, поднятую в вопросе.
С веб-сайта:
Как и другие библиотеки журналов для .NET, Serilog предоставляет диагностику запись в файлы, консоль и т.д. Его легко настроить, он имеет чистый API, и переносится между последними платформами .NET.
В отличие от других библиотек журналов для .NET, Serilog построен с структурированные данные журнала. Параметры, передаваемые вместе с сообщениями журнала не подвергаются разрушению в текстовом формате. Вместо этого они сохраняются как структурированные данные, которые могут быть записаны в форме документа на Хранилище данных NoSQL