|
clutchlog
0.11
|
The single class which holds everything. More...
#include <clutchlog.h>
Classes | |
| class | fmt |
| Color and style formatter for ANSI terminal escape sequences. More... | |
| struct | scope_t |
| Structure holding a location matching. More... | |
Public Member Functions | |
Configuration accessors | |
| void | format (const std::string &format) |
| Set the template string. | |
| std::string | format () const |
| Get the template string. | |
| void | format_comment (const std::string &format) |
| Set the template string for dumps. | |
| std::string | format_comment () const |
| Get the template string for dumps. | |
| void | out (std::ostream &out) |
| Set the output stream on which to print. | |
| std::ostream & | out () |
| Get the output stream on which to print. | |
| void | threshold (level l) |
| Set the log level (below which logs are not printed) with an identifier. | |
| void | threshold (const std::string &l) |
| Set the log level (below which logs are not printed) with a string. | |
| level | threshold () const |
| Get the log level below which logs are not printed. | |
| const std::map< std::string, level > & | levels () const |
| Get the map of available log levels string representations toward their identifier. */. | |
| level | level_of (const std::string name) |
| Return the log level tag corresponding to the given pre-configured name. More... | |
| void | file (std::string file) |
| Set the regular expression filtering the file location. | |
| void | func (std::string func) |
| Set the regular expression filtering the function location. | |
| void | line (std::string line) |
| Set the regular expression filtering the line location. | |
| void | location (const std::string &in_file, const std::string &in_function=".*", const std::string &in_line=".*") |
| Set the regular expressions filtering the location. | |
| template<class ... FMT> | |
| void | style (level stage, FMT... styles) |
| Set the style (color and typo) of the given log level. More... | |
| void | style (level stage, fmt style) |
Set the style (color and typo) of the given log level, passing a fmt instance. | |
| fmt | style (level stage) const |
| Get the configured fmt instance of the given log level. | |
Low-level API | |
| scope_t | locate (const level &stage, const std::string &file, const std::string &func, const size_t line) const |
| Gather information on the current location of the call. | |
| std::string | replace (const std::string &form, const std::string &mark, const std::string &tag) const |
Replace mark by tag in form. More... | |
| std::string | replace (const std::string &form, const std::string &mark, const size_t tag) const |
Replace mark by tag in form, converting tag to its string representation first. | |
| std::string | format (std::string row, const std::string &what, const level &stage, const std::string &file, const std::string &func, const size_t line) const |
| Substitute all tags in the format string with the corresponding information and apply the style corresponding to the log level. | |
| void | log (const level &stage, const std::string &what, const std::string &file, const std::string &func, size_t line) const |
| Print a log message IF the location matches the given one. | |
| template<class In > | |
| void | dump (const level &stage, const In container_begin, const In container_end, const std::string &file, const std::string &func, size_t line, const std::string &filename_template="dump_{n}.dat", const std::string sep=dump_default_sep) const |
| Dump a serializable container after a comment line with log information. | |
Static Protected Attributes | |
Default configuration members | |
| static std::string | default_format = CLUTCHLOG_DEFAULT_FORMAT |
| Default format of the messages. | |
| static std::string | dump_default_format = CLUTCHDUMP_DEFAULT_FORMAT |
| Default format of the comment line in file dump. | |
| static std::string | dump_default_sep = CLUTCHDUMP_DEFAULT_SEP |
| Default item separator for dump. | |
| static std::string | default_depth_mark = CLUTCHLOG_DEFAULT_DEPTH_MARK |
| Default mark for stack depth. | |
| static unsigned int | default_strip_calls = CLUTCHLOG_STRIP_CALLS |
| Number of call stack levels to remove from depth display by default. | |
| static char | default_hfill_char = CLUTCHLOG_HFILL_MARK |
| Default character used as a filling for right-align the right part of messages with "{hfill}". | |
| static size_t | default_hfill_max = CLUTCHLOG_HFILL_MAX |
| Default maximum number of character used as a filling for right-align the right part of messages with "{hfill}". | |
High-level API | |
| enum | level { critical =0, error =1, warning =2, progress =3, note =4, info =5, debug =6, xdebug =7 } |
| Available log levels. | |
| static clutchlog & | logger () |
| Get the logger instance. More... | |
Internal details | |
| size_t | _strip_calls |
| Current number of call stack levels to remove from depth display. | |
| const std::map< level, std::string > | _level_word |
| Dictionary of level identifier to their string representation. | |
| std::map< std::string, level > | _word_level |
| Dictionary of level string to their identifier. | |
| std::map< level, fmt > | _level_fmt |
| Dictionary of level identifier to their format. | |
| std::string | _format_log |
| Current format of the standard output. | |
| std::string | _format_dump |
| Current format of the file output. | |
| std::ostream * | _out |
| Standard output. | |
| level | _stage |
| Current log level. | |
| std::regex | _in_file |
| Current file location filter. | |
| std::regex | _in_func |
| Current function location filter. | |
| std::regex | _in_line |
| Current line location filter. | |
| clutchlog (clutchlog const &)=delete | |
| void | operator= (clutchlog const &)=delete |
The single class which holds everything.
This is a Singleton class.
|
inline |
Return the log level tag corresponding to the given pre-configured name.
_level_word.
|
inlinestatic |
Get the logger instance.
|
inline |
Replace mark by tag in form.
|
inline |
Set the style (color and typo) of the given log level.
This version accept style arguments as if they were passed to clutchlog::fmt.
1.8.17