Class logger_t

Nested Relationships

Nested Types

Class Documentation

class logger_t

Public Functions

inline explicit logger_t(std::ostream &os, std::optional<colour> col = std::nullopt, std::optional<font_style> style = std::nullopt)
inline auto log(log_verbosity_e level)
inline auto operator()(log_verbosity_e level = log_verbosity_e::normal) noexcept
inline void set_sout_level(log_verbosity_e level) noexcept
inline auto get_sout_level(log_verbosity_e level) noexcept
inline void set_sout_enabled(bool enabled) noexcept
inline void add_ostream(std::ostream &os, log_verbosity_e level) noexcept
inline void set_ostream_level(std::ostream &os, log_verbosity_e level) noexcept
inline void remove_ostream(std::ostream &os) noexcept
inline void add_progress_bar(std::string name, colour col)
inline void end_progress_bars_group()
inline auto pb(const std::string &name)
inline void disable_log()
inline void disable_sout_progress_bars()
struct logger_guard_t

Public Functions

template<typename T>
inline auto &operator<<(T &&arg)
inline auto &operator<<(logger_t::endl_type endl)
inline logger_guard_t(logger_t *logger, std::unique_lock<std::mutex> l, log_verbosity_e level, bool sout_enabled = true)
inline ~logger_guard_t() noexcept
logger_guard_t(logger_guard_t&&) = default
struct logger_progress_bar_t

Public Functions

inline void set_progress(float p)
inline void increase_max_ticks(std::size_t ticks = 1)
inline void set_max_ticks(std::size_t ticks)
inline void tick()
inline void set_foreground_colour(colour col)
inline void set_prefix(std::string prefix)
inline void set_postfix(std::string postfix)
inline void set_show_elapsed_time(bool v)
inline void set_show_remaining_time(bool v)
inline void complete()
inline void detach()
inline logger_progress_bar_t(logger_t *logger, std::unique_lock<std::mutex> l, std::size_t pbidx = 0)
inline ~logger_progress_bar_t() noexcept
logger_progress_bar_t(logger_progress_bar_t&&) = default
struct osyncstreams_t

Public Functions

inline void set(const std::vector<std::pair<std::ostream*, log_verbosity_e>> &oss)
template<typename T>
inline auto &write(T &&arg, log_verbosity_e level, bool skip_sout)
inline auto &write(logger_t::endl_type endl, log_verbosity_e level, bool skip_sout)
inline void emit()
inline auto &operator[](std::size_t idx) noexcept
inline auto begin() noexcept
inline auto end() noexcept

Public Members

std::vector<std::pair<osyncstream, log_verbosity_e>> ss
std::vector<const std::ostream*> os_refs