Пользовался логгером буста, но возникла потребность писать различные логи в разные файлы. И не понимаю, как его настроить так, чтобы он это делал.
Изначально инициализировал и пользовался этим логером следующим образом:
// файл, где подключаю внешние зависимости
/* <\> BOOST LOGS */
#include <boost/log/core.hpp>//
#include <boost/log/trivial.hpp>
#include <boost/log/expressions.hpp>//
#include <boost/log/sinks/text_file_backend.hpp>//
#include <boost/log/utility/setup/file.hpp>//
#include <boost/log/utility/setup/common_attributes.hpp>//
#include <boost/log/sources/severity_logger.hpp>
#include <boost/log/sources/record_ostream.hpp>
/* </> BOOST LOGS */
// Функция инициализации логгера, вызываемая из main():
void LogInit()
{
string log_path = "\\logs\\%Y-%m-%d.log";
boost::log::add_file_log
(
boost::log::keywords::auto_flush = true,
boost::log::keywords::file_name = log_path,
boost::log::keywords::time_based_rotation = boost::log::sinks::file::rotation_at_time_point(0, 0, 1),
boost::log::keywords::format = "[%TimeStamp%] %Message%",
boost::log::keywords::open_mode = std::ios_base::app
);
boost::log::core::get()->set_filter(boost::log::trivial::severity >= 3);
boost::log::add_common_attributes();
}
//объявление логгера в main():
boost::log::sources::severity_logger<boost::log::trivial::severity_level> lg;
// использование логгера в коде программы:
BOOST_LOG_SEV(lg, trace) << "Example text=" << example_int;
Проблема возникает, в том, что если создаю несколько экземпляров логгера, то все они имеют одни и те же параметры(например, имя файла). Как инициализировать каждый экземпляр отдельно?
Сборка персонального компьютера от Artline: умный выбор для современных пользователей