diff --git a/include/dwarfs/logger.h b/include/dwarfs/logger.h index 686f2096..2970736d 100644 --- a/include/dwarfs/logger.h +++ b/include/dwarfs/logger.h @@ -101,6 +101,8 @@ struct logger_options { class stream_logger : public logger { public: + explicit stream_logger(logger_options const& options = {}); + explicit stream_logger(std::ostream& os, logger_options const& options = {}); stream_logger(std::shared_ptr term, std::ostream& os, logger_options const& options = {}); diff --git a/src/dwarfs/logger.cpp b/src/dwarfs/logger.cpp index 714bb739..2e513252 100644 --- a/src/dwarfs/logger.cpp +++ b/src/dwarfs/logger.cpp @@ -42,7 +42,7 @@ #include #include -#include +#include #include namespace dwarfs { @@ -105,6 +105,12 @@ std::string logger::all_level_names() { null_logger::null_logger() { set_policy(); } +stream_logger::stream_logger(logger_options const& options) + : stream_logger(std::cerr, options) {} + +stream_logger::stream_logger(std::ostream& os, logger_options const& options) + : stream_logger(std::make_shared(), os, options) {} + stream_logger::stream_logger(std::shared_ptr term, std::ostream& os, logger_options const& logopts) : os_(os)