title: src/crelude/log.h
src/crelude/log.h
Attributes
Name | |
---|---|
const ifast | _verbosity |
Defines
Detailed Description
Logging given verbosity. You must define a VERBOSE_VAR
before including this header. Otherwise, the default value is 1
, i.e. only errors & warnings.
Attributes Documentation
variable _verbosity
static const ifast _verbosity = 1;
Macros Documentation
define VERBOSE_VAR
#define VERBOSE_VAR [_verbosity](/crelude/Files/log_8h.md#variable-_verbosity)
define ERROR
#define ERROR 0
define WARN
#define WARN 1
define DEBUG
#define DEBUG 2
define INFO
#define INFO 3
define S_ERROR
#define S_ERROR " error"
define S_WARN
#define S_WARN "warning"
define S_DEBUG
#define S_DEBUG " debug"
define S_INFO
#define S_INFO " info"
define LOG
#define LOG(
LEVEL,
FORMATTER,
...
)
__extension__\
({ if ([VERBOSE_VAR](/crelude/Files/log_8h.md#define-verbose_var) >= LEVEL) \
[eprintln](/crelude/Files/io_8h.md#define-eprintln)("[ " S_##LEVEL " ] log<%s()>: " FORMATTER, __func__, ##__VA_ARGS__); \
LEVEL; })
Source code
#pragma once
#include "io.h"
#ifndef VERBOSE_VAR
#define VERBOSE_VAR _verbosity
static const ifast _verbosity = 1;
#endif
#define ERROR 0
#define WARN 1
#define DEBUG 2
#define INFO 3
#define S_ERROR " error"
#define S_WARN "warning"
#define S_DEBUG " debug"
#define S_INFO " info"
#define LOG(LEVEL, FORMATTER, ...) __extension__\
({ if (VERBOSE_VAR >= LEVEL) \
eprintln("[ " S_##LEVEL " ] log<%s()>: " FORMATTER, __func__, ##__VA_ARGS__); \
LEVEL; })
Updated on 23 August 2022 at 00:54:19 UTC