23#ifndef ANALYZER_LOGGING_H
24#define ANALYZER_LOGGING_H
44 void log (
const char *fmt, ...)
74 std::unique_ptr<pretty_printer>
m_pp;
112 m_logger->incref (
"log_scope ctor");
124 m_logger->incref (
"log_scope ctor");
142 m_logger->decref (
"log_scope dtor");
201 void log (
const char *fmt, ...) const
291#define LOG_SCOPE(LOGGER) \
292 log_scope s (LOGGER, __PRETTY_FUNCTION__)
297#define LOG_FUNC(LOGGER) \
298 log_scope s (LOGGER, __func__)
300#define LOG_FUNC_1(LOGGER, FMT, A0) \
301 log_scope s (LOGGER, __func__, FMT, A0)
303#define LOG_FUNC_2(LOGGER, FMT, A0, A1) \
304 log_scope s (LOGGER, __func__, FMT, A0, A1)
306#define LOG_FUNC_3(LOGGER, FMT, A0, A1, A2) \
307 log_scope s (LOGGER, __func__, FMT, A0, A1, A2)
309#define LOG_FUNC_4(LOGGER, FMT, A0, A1, A2, A3) \
310 log_scope s (LOGGER, __func__, FMT, A0, A1, A2, A3)
log_nesting_level(logger *logger, const char *fmt,...) ATTRIBUTE_GCC_DIAG(3
Definition analyzer-logging.h:158
logger * m_logger
Definition analyzer-logging.h:154
~log_nesting_level()
Definition analyzer-logging.h:181
const char * m_name
Definition analyzer-logging.h:93
logger * m_logger
Definition analyzer-logging.h:92
~log_scope()
Definition analyzer-logging.h:137
DISABLE_COPY_AND_ASSIGN(log_scope)
log_scope(logger *logger, const char *name)
Definition analyzer-logging.h:106
DISABLE_COPY_AND_ASSIGN(log_user)
logger * get_logger() const
Definition analyzer-logging.h:198
logger * m_logger
Definition analyzer-logging.h:226
void log(const char *fmt,...) const ATTRIBUTE_GCC_DIAG(2
Definition analyzer-logging.h:233
void enter_scope(const char *scope_name)
Definition analyzer-logging.h:271
void void start_log_line() const
Definition analyzer-logging.h:249
void set_logger(logger *logger)
void exit_scope(const char *scope_name)
Definition analyzer-logging.h:282
FILE * get_logger_file() const
Definition analyzer-logging.h:216
void end_log_line() const
Definition analyzer-logging.h:260
pretty_printer * get_logger_pp() const
Definition analyzer-logging.h:210
Definition analyzer-logging.h:36
void dec_indent()
Definition analyzer-logging.h:62
int m_indent_level
Definition analyzer-logging.h:72
pretty_printer * get_printer() const
Definition analyzer-logging.h:64
void void log_va_partial(const char *fmt, va_list *ap) ATTRIBUTE_GCC_DIAG(2
void log_partial(const char *fmt,...) ATTRIBUTE_GCC_DIAG(2
void log(const char *fmt,...) ATTRIBUTE_GCC_DIAG(2
DISABLE_COPY_AND_ASSIGN(logger)
FILE * get_file() const
Definition analyzer-logging.h:65
void enter_scope(const char *scope_name)
bool m_log_refcount_changes
Definition analyzer-logging.h:73
FILE * m_f_out
Definition analyzer-logging.h:71
int m_refcount
Definition analyzer-logging.h:70
void void void start_log_line()
logger(FILE *f_out, int flags, int verbosity, const pretty_printer &reference_pp)
void incref(const char *reason)
void void log_va(const char *fmt, va_list *ap) ATTRIBUTE_GCC_DIAG(2
void log_canvas(const text_art::canvas &)
void inc_indent()
Definition analyzer-logging.h:61
void decref(const char *reason)
std::unique_ptr< pretty_printer > m_pp
Definition analyzer-logging.h:74
void void void end_log_line()
void void exit_scope(const char *scope_name)
Definition pretty-print.h:241
#define ATTRIBUTE_GCC_DIAG(m, n)
Definition diagnostic-core.h:71
Definition access-diagram.h:30
Definition analyzer-logging.h:28
static void const char va_list ap
Definition read-md.cc:205
#define gcc_assert(EXPR)
Definition system.h:817