Если вы спрашиваете о каркасе ведения журналов и работаете в C ++, посмотрите Apache log4cxx . Чтобы понять архитектуру, требуется несколько минут, но как только вы это сделаете, вы поймете, что это хороший баланс гибкости, простоты использования и (как говорится) производительности.
log4cxx
имеет очень гибкую конфигурацию, благодаря которой вы можете, без перекомпиляции, контролировать, куда выводится (файл / вращающийся файл / консоль / и т. Д.), Уровень отладки подкомпонентов (например, вы хотите сосредоточиться на определенный класс / компонент, поэтому вы устанавливаете его на уровень DEBUG
, а остальные на INFO
), формат записей журнала и т. д.
Если вы спрашиваете о общих рекомендациях о том, как ведется запись в журнал, я такого не видел (не то, что на самом деле искал). Я думаю, что это в основном эмпирически - вы решаете, какая информация необходима на каждом уровне ведения журнала, например, INFO, DEBUG и т. Д., И вы уточняете ее в соответствии с потребностями вашего клиента и вашего клиента (не забывайте, что ваш клиент также может быть клиентом журнал, в зависимости от вашего проекта).