В этом разделе мы рассмотрим основные шаги, чтобы начать работу с библиотекой. Прочитав его, вы сможете инициализировать библиотеку и добавить журналирование в приложение. Код этого учебника также доступен в примерах, находящихся в каталоге libs/log/примеры
. Не стесняйтесь играть с ними, составлять и видеть результат.
Для тех, кто не хочет читать тонны умных руководств и просто нуждается в простом инструменте для лесозаготовок, вот вам:
#include <boost/log/trivial.hpp>
int main(int, char*[])
{
BOOST_LOG_TRIVIAL(trace) << "A trace severity message";
BOOST_LOG_TRIVIAL(debug) << "A debug severity message";
BOOST_LOG_TRIVIAL(info) << "An informational severity message";
BOOST_LOG_TRIVIAL(warning) << "A warning severity message";
BOOST_LOG_TRIVIAL(error) << "An error severity message";
BOOST_LOG_TRIVIAL(fatal) << "A fatal severity message";
return 0;
}
См. полный код .
Макро BOOST_LOG_TRIVIAL
принимает уровень тяжести и приводит к объекту, похожему на поток, который поддерживает оператор вставки. В результате этого кода сообщения журнала будут напечатаны на консоли. Как вы можете видеть, этот шаблон использования библиотеки очень похож на то, что вы бы сделали с std::cout
. Тем не менее, библиотека предлагает несколько преимуществ:
- Помимо сообщения записи, каждая запись журнала на выходе содержит временную метку, идентификатор текущего потока и уровень серьезности.
- Безопасно писать журналы из разных потоков одновременно, сообщения журнала не будут повреждены.
- Как будет показано далее, может применяться фильтрация.
Надо сказать, что макрос, наряду с другими подобными макросами, предоставляемыми библиотекой, не единственный интерфейс, который предлагает библиотека. Можно выпускать журнальные записи без использования каких-либо макросов вообще.