clutchlog  0.11.1
clutchlog.h File Reference
#include <ciso646>
#include <filesystem>
#include <iostream>
#include <sstream>
#include <fstream>
#include <cassert>
#include <cstdlib>
#include <string>
#include <limits>
#include <regex>
#include <map>
+ Include dependency graph for clutchlog.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  clutchlog
 The single class which holds everything. More...
 
class  clutchlog::fmt
 Color and style formatter for ANSI terminal escape sequences. More...
 
struct  clutchlog::scope_t
 Structure holding a location matching. More...
 

Macros

#define CLUTCHLOG_H
 Header guard.
 
#define CLUTCHLOG_HAVE_UNIX_SYSINFO   0
 True if POSIX headers necessary for stack depth management are available.
 
#define CLUTCHLOG_HAVE_UNIX_SYSIOCTL   0
 True if the system can handle the hfill feature.
 
#define WITH_CLUTCHLOG
 Actually enable clutchlog features.
 
#define CLUTCHLOG_DEFAULT_DEPTH_BUILT_NODEBUG   clutchlog::level::progress
 Default level over which calls to the logger are optimized out when NDEBUG is defined.
 
#define CLUTCHLOC   __FILE__, __FUNCTION__, __LINE__
 Handy shortcuts to location.
 
#define CLUTCHLOG(LEVEL, WHAT)
 Log a message at the given level. More...
 
#define CLUTCHDUMP(LEVEL, CONTAINER, FILENAME)
 Dump the given container. More...
 
#define CLUTCHFUNC(LEVEL, FUNC, ...)
 Call any function if the scope matches. More...
 
#define CLUTCHCODE(LEVEL, ...)
 Run any code if the scope matches. More...
 
Default configuration members
#define CLUTCHLOG_DEFAULT_FORMAT   "{level_letter} {msg}\t\t\t\t\t{func} @ {file}:{line}\n"
 Compile-time default format of the messages (debug mode: with absolute location).
 
#define CLUTCHDUMP_DEFAULT_FORMAT   "# {level} in {func} @ {file}:{line}"
 Compile-time default format of the comment line in file dump.
 
#define CLUTCHDUMP_DEFAULT_SEP   "\n"
 Compile-time default item separator for dump.
 
#define CLUTCHLOG_DEFAULT_DEPTH_MARK   ">"
 Compile-time default mark for stack depth.
 
#define CLUTCHLOG_STRIP_CALLS   5
 Compile-time number of call stack levels to remove from depth display by default.
 
#define CLUTCHLOG_HFILL_MARK   '.'
 Character used as a filling for right-align the right part of messages with "{hfill}".