Enum in stdx_log.h

XLogColor

typedef enum{
  XLOG_COLOR_DEFAULT,
  XLOG_COLOR_BLACK,
  XLOG_COLOR_RED,
  XLOG_COLOR_GREEN,
  XLOG_COLOR_YELLOW,
  XLOG_COLOR_BLUE,
  XLOG_COLOR_MAGENTA,
  XLOG_COLOR_CYAN,
  XLOG_COLOR_WHITE,
  XLOG_COLOR_BRIGHT_BLACK,
  XLOG_COLOR_BRIGHT_RED,
  XLOG_COLOR_BRIGHT_GREEN,
  XLOG_COLOR_BRIGHT_YELLOW,
  XLOG_COLOR_BRIGHT_BLUE,
  XLOG_COLOR_BRIGHT_MAGENTA,
  XLOG_COLOR_BRIGHT_CYAN,
  XLOG_COLOR_BRIGHT_WHITE,
}XLogColor;
Enum in stdx_log.h

XLogComponent

typedef enum{
  XLOG_PLAIN=0,
  XLOG_TIMESTAMP=1<<0,
  XLOG_TAG=1<<1,
  XLOG_SOURCEINFO=1<<2,
  XLOG_DEFAULT=XLOG_TAG|XLOG_TIMESTAMP|XLOG_SOURCEINFO
}XLogComponent;
Enum in stdx_log.h

XLogLevel

typedef enum{
  XLOG_LEVEL_DEBUG=0,
  XLOG_LEVEL_INFO,
  XLOG_LEVEL_WARNING,
  XLOG_LEVEL_ERROR,
  XLOG_LEVEL_FATAL,
}XLogLevel;
Enum in stdx_log.h

XLogOutputFlags

typedef enum{
  XLOG_OUTPUT_NONE=0,
  XLOG_OUTPUT_CONSOLE=1<<0,
  XLOG_OUTPUT_FILE=1<<1,
  XLOG_OUTPUT_BOTH=XLOG_OUTPUT_CONSOLE|XLOG_OUTPUT_FILE,
}XLogOutputFlags;
Macro in stdx_log.h

X_LOG_BUFFER_SIZE

Default buffer size for log messages. Can be overriden before including this header

#define X_LOG_BUFFER_SIZE(1024 *4)
Function in stdx_log.h

x_log_close

Shutdown the logging system and release resources.

void x_log_close(XLogger *logger);
Function in stdx_log.h

x_log_get_console

Get the current console output stream (never NULL; defaults to stdout).

FILE * x_log_get_console(const XLogger *logger);
Function in stdx_log.h

x_log_init

Initialize the logging system.

void x_log_init(
 XLogger *logger,
 XLogOutputFlags outputs,
 XLogLevel level,
 const char *filename
);

Parameters

XLogger *logger
Logger context to initialize.
XLogOutputFlags outputs
Bitmask specifying enabled log outputs (console, file, etc.).
XLogLevel level
Minimum log level to emit.
const char *filename
Optional file path for file output, or NULL if unused.
Function in stdx_log.h

x_log_set_console

Set the output stream used for console logging. This does not affect file logging configured via x_log_init() (XLOG_OUTPUT_FILE). Passing NULL resets to stdout.

void x_log_set_console(
 XLogger *logger,
 FILE *out
);