Ответ 1
Вот некоторые рекомендации, которые я пытался реализовать в моем собственном блоке регистрации OpenSource, но он довольно общий, и, как вы заявляете, он должен быть подходящим для любого пакета протоколирования
- Сделайте несколько уровней (мы используем множество) ведения журнала, чтобы настроить необходимую информацию о регистрации;
- Запишите все исключения, даже обработанные с блоком
try...except
, и добавьте список классов исключений, не заслуживающий регистрации (например,EConvertError
) - например. наш модуль может регистрировать все исключения с помощью глобального исключения "hook" (notry..except
для добавления в ваш код) и обрабатывать список классов исключений, которые следует игнорировать; - Записывать все "фатальные" ошибки, такие как проблемы с подключением к базе данных или неправильный синтаксис SQL, должны выполняться, хотя "зарегистрировать все исключения" предыдущий элемент;
- Для таких исключений зарегистрируйте трассировку стека, чтобы узнать о вызывающем контексте;
- Возможность записывать все SQL-запросы или доступ к базе данных;
- Добавьте общий журнал регистрации пользовательского интерфейса, чтобы узнать, какие основные функции программного обеспечения, которое пользователь совершил (например, для каждой кнопки панели инструментов или пунктов меню): очень часто, когда пользователь сказал: "У меня есть это на моем экране/но я ничего не делал"... и когда вы увидите журнал, вы обнаружите, что "что-то" было сделано.;)
- Отслеживать основные методы вашего приложения и связанные с ним параметры;
- Ведение журнала - это эволюционирующая функция: используйте эти общие правила выше, а затем настройте свое ведение журнала из эксперимента в соответствии с вашими потребностями отладки.