Два раковины регистратор в качестве регистратора по умолчанию не работаетC++

Программы на C++. Форум разработчиков
Anonymous
Два раковины регистратор в качестве регистратора по умолчанию не работает

Сообщение Anonymous »

Я пытаюсь объединить две раковины: < /p>

Код: Выделить всё

    auto console_sink = std::make_shared();
console_sink->set_level(spdlog::level::warn);
console_sink->set_pattern("[multi_sink_example] [%^%l%$] %v");

auto file_sink = std::make_shared("logs/multisink.txt", true);
file_sink->set_level(spdlog::level::trace);

spdlog::logger logger("multi_sink", {console_sink, file_sink});

logger.warn("this should appear in both console and file");
logger.info("this message should not appear in the console, only in the file");
< /code>
И он работает нормально, но когда я устанавливаю его в качестве регистратора по умолчанию, он печатает только на экран, не записывая что -либо для файла: < /p>
    auto console_sink = std::make_shared();
console_sink->set_level(spdlog::level::warn);
console_sink->set_pattern("[multi_sink_example] [%^%l%$] %v");

auto file_sink = std::make_shared("logs/multisink.txt", true);
file_sink->set_level(spdlog::level::trace);

spdlog::logger logger("multi_sink", {console_sink, file_sink});

spdlog::set_default_logger(std::make_shared(logger));

spdlog::warn("this should appear in both console and file");
spdlog::info("this message should not appear in the console, only in the file");
есть идея?

Подробнее здесь: https://stackoverflow.com/questions/720 ... ot-working

Вернуться в «C++»