50 #define __func__ __FUNCTION__
113 typedef std::pair<const std::string, int>
logd;
166 bool show_names =
true,
bool do_indent =
false,
bool show_timestamps =
true,
bool break_strict =
true,
bool auto_newline =
true)
const;
240 #define log_scope(description) lg::scope_logger scope_logging_object__(lg::general(), description);
241 #define log_scope2(domain,description) lg::scope_logger scope_logging_object__(domain, description);
243 #define LOG_STREAM(level, domain) if (lg::level().dont_log(domain)) ; else lg::level()(domain) | formatter()
246 #define LOG_STREAM_NAMELESS(level, domain) if (lg::level().dont_log(domain)) ; else lg::level()(domain, false) | formatter()
249 #define LOG_STREAM_NAMELESS_STREAMING(level, domain) if (lg::level().dont_log(domain)) ; else lg::level()(domain, false, false, true, true, false) | formatter()
252 #define LOG_STREAM_INDENT(level,domain) if (lg::level().dont_log(domain)) ; else lg::level()(domain, true, true) | formatter()
256 #define FORCE_LOG_TO(logger, domain) logger(domain) | formatter()
261 #define PLAIN_LOG lg::err()(lg::general(), false, false, false, false, true) | formatter()
262 #define STREAMING_LOG lg::err()(lg::general(), false, false, false, false, false) | formatter()
log_domain(char const *name, int severity=1)
void operator|(formatter &&message)
void set_auto_newline(bool enabled)
void set_prefix(const std::string &prefix)
void set_indent(int level)
log_in_progress(std::ostream &stream)
std::string get_name() const
int get_severity() const
Returns following values depending on the logger: error: 0 warn: 1 info: 2 debug: 3 See also the lg::...
log_in_progress operator()(const log_domain &domain, bool show_names=true, bool do_indent=false, bool show_timestamps=true, bool break_strict=true, bool auto_newline=true) const
logger(char const *name, int severity)
bool dont_log(const log_domain &domain) const
Helper class to redirect the output of the logger in a certain scope.
~redirect_output_setter()
std::ostream * old_stream_
The previously set redirection.
redirect_output_setter(std::ostream &stream)
Constructor.
const log_domain & domain_
void do_log_entry(const std::string &str) noexcept
scope_logger(const log_domain &domain, const char *str)
void do_log_exit() noexcept
scope_logger(const log_domain &domain, const std::string &str)
std::string get_timespan(const std::time_t &t)
void set_strict_severity(int severity)
void rotate_logs(const std::string &log_dir)
Deletes old log files from the log directory.
std::string unique_log_filename()
Generates a unique log file name.
void set_log_file_path(const std::string &path)
std::string list_logdomains(const std::string &filter)
bool is_not_log_file(const std::string &fn)
Helper function for rotate_logs.
bool set_log_domain_severity(const std::string &name, int severity)
std::string sanitize_log(const std::string &logstr)
void check_log_dir_writable()
std::stringstream & log_to_chat()
Use this to show WML errors in the ingame chat.
const std::string log_file_prefix
std::string & get_log_file_path()
std::pair< const std::string, int > logd
std::string get_timestamp(const std::time_t &t, const std::string &format)
void precise_timestamps(bool pt)
std::optional< bool > log_dir_writable()
bool get_log_domain_severity(const std::string &name, int &severity)
const std::string log_file_suffix