Boost.Log to file and stdout simultaneously?
Asked Answered
M

1

11

I've used boost::log successfully to log to stdout (using the TRIVIAL macros) or to log to a file (basically following the steps in the tutorial).

How would we configure to log to a file and stdout simultaneously?

This is a common use case in our setup when we want to have both, a log file and also all the output that goes to the log on the console.

Any input appreciated!

Magnanimity answered 27/1, 2014 at 12:9 Comment(3)
have you tried reading this documentation? It says You can register more than one sink. Each sink will receive and process log records as you emit them independently from others. Angelenaangeleno
@Angelenaangeleno Yep, but how do you register sinks for output to stdout? Couldn't find that (yet..)Magnanimity
add_stream( boost::shared_ptr<std::ostream>(&std::cout, empty_deleter() ) ); // ?Angelenaangeleno
D
23

As per the docs you can simply use the add_console_log() convenience function like so:

#include <boost/log/utility/setup/console.hpp>

logging::add_console_log(std::cout, boost::log::keywords::format = ">> %Message%");

Of course you can always dig into the sink configuration manually as indicated by some of the comments.

Desired answered 27/1, 2014 at 17:24 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.