PipeWire: SPA Logging

PipeWire 0.3.37

Data Structures | Macros | Enumerations | Functions
SPA Logging

## Data Structures
struct | spa_log
struct | spa_log_methods

## Macros
#define | SPA_LOG_IMPL_DEFINE(name)
#define | SPA_LOG_IMPL_INIT(name)
#define | SPA_LOG_IMPL(name) SPA_LOG_IMPL_DEFINE(name) = SPA_LOG_IMPL_INIT(name)
#define | SPA_TYPE_INTERFACE_Log SPA_TYPE_INFO_INTERFACE_BASE "Log"
| The Log interface. More...
#define | spa_log_level_enabled(l, lev) ((l) && (l)->level >= (lev))
#define | spa_log_log(l, lev, ...)
#define | spa_log_logv(l, lev, ...)
#define | spa_log_error(l, ...) spa_log_log(l,SPA_LOG_LEVEL_ERROR,__FILE__,__LINE__,__func__,__VA_ARGS__)
#define | spa_log_warn(l, ...) spa_log_log(l,SPA_LOG_LEVEL_WARN,__FILE__,__LINE__,__func__,__VA_ARGS__)
#define | spa_log_info(l, ...) spa_log_log(l,SPA_LOG_LEVEL_INFO,__FILE__,__LINE__,__func__,__VA_ARGS__)
#define | spa_log_debug(l, ...) spa_log_log(l,SPA_LOG_LEVEL_DEBUG,__FILE__,__LINE__,__func__,__VA_ARGS__)
#define | spa_log_trace(l, ...) spa_log_log(l,SPA_LOG_LEVEL_TRACE,__FILE__,__LINE__,__func__,__VA_ARGS__)
#define | spa_log_trace_fp(l, ...) spa_log_log(l,SPA_LOG_LEVEL_TRACE,__FILE__,__LINE__,__func__,__VA_ARGS__)
#define | SPA_KEY_LOG_LEVEL "log.level"
| keys can be given when initializing the logger handle More...
#define | SPA_KEY_LOG_COLORS "log.colors"
| enable colors in the logger More...
#define | SPA_KEY_LOG_FILE "log.file"
| log to the specified file instead of stderr. More...
#define | SPA_KEY_LOG_TIMESTAMP "log.timestamp"
| log timestamps More...
#define | SPA_KEY_LOG_LINE "log.line"
| log file and line numbers More...

## Enumerations
enum | spa_log_level { SPA_LOG_LEVEL_NONE = 0 , SPA_LOG_LEVEL_ERROR , SPA_LOG_LEVEL_WARN , SPA_LOG_LEVEL_INFO , SPA_LOG_LEVEL_DEBUG , SPA_LOG_LEVEL_TRACE }

## Functions
void | spa_log_impl_logv (void *object, enum spa_log_level level, const char *file, int line, const char *func, const char *fmt, va_list args)
void | spa_log_impl_log (void *object, enum spa_log_level level, const char *file, int line, const char *func, const char *fmt,...)

## Detailed Description

## Macro Definition Documentation

## ◆ SPA_KEY_LOG_COLORS

#define SPA_KEY_LOG_COLORS "log.colors"

enable colors in the logger

## ◆ SPA_KEY_LOG_FILE

#define SPA_KEY_LOG_FILE "log.file"

log to the specified file instead of stderr.

## ◆ SPA_KEY_LOG_LEVEL

#define SPA_KEY_LOG_LEVEL "log.level"

keys can be given when initializing the logger handle

the default log level

## ◆ SPA_KEY_LOG_LINE

#define SPA_KEY_LOG_LINE "log.line"

log file and line numbers

## ◆ SPA_KEY_LOG_TIMESTAMP

#define SPA_KEY_LOG_TIMESTAMP "log.timestamp"

log timestamps

## ◆ spa_log_debug

#define spa_log_debug | ( |  | l,
|  |  | ...
| ) |  | spa_log_log(l,SPA_LOG_LEVEL_DEBUG,__FILE__,__LINE__,__func__,__VA_ARGS__)

## ◆ spa_log_error

#define spa_log_error | ( |  | l,
|  |  | ...
| ) |  | spa_log_log(l,SPA_LOG_LEVEL_ERROR,__FILE__,__LINE__,__func__,__VA_ARGS__)

## ◆ SPA_LOG_IMPL

#define SPA_LOG_IMPL | ( |  | name | ) | SPA_LOG_IMPL_DEFINE(name) = SPA_LOG_IMPL_INIT(name)

## ◆ SPA_LOG_IMPL_DEFINE

#define SPA_LOG_IMPL_DEFINE | ( |  | name | ) |

Value:
struct { \
struct spa_log log; \
struct spa_log_methods methods; \
} name
name
const char * name
Definition: media-session.c:2380
spa_log_methods
Definition: build/doc/spa/support/log.h:72
spa_log
Definition: build/doc/spa/support/log.h:61
methods
struct spa_thread_utils_methods methods
Definition: thread.c:68

## ◆ SPA_LOG_IMPL_INIT

#define SPA_LOG_IMPL_INIT | ( |  | name | ) |

Value:
{ { { SPA_TYPE_INTERFACE_Log, SPA_VERSION_LOG, \
SPA_CALLBACKS_INIT(&name.methods, &name) }, \
SPA_LOG_LEVEL_INFO, }, \
{ SPA_VERSION_LOG_METHODS, \
spa_log_impl_log, \
spa_log_impl_logv,} }
SPA_VERSION_LOG_METHODS
#define SPA_VERSION_LOG_METHODS
Definition: build/doc/spa/support/log.h:73
SPA_VERSION_LOG
#define SPA_VERSION_LOG
the version of this log.
Definition: build/doc/spa/support/log.h:64
SPA_TYPE_INTERFACE_Log
#define SPA_TYPE_INTERFACE_Log
The Log interface.
Definition: build/doc/spa/support/log.h:58

## ◆ spa_log_info

#define spa_log_info | ( |  | l,
|  |  | ...
| ) |  | spa_log_log(l,SPA_LOG_LEVEL_INFO,__FILE__,__LINE__,__func__,__VA_ARGS__)

## ◆ spa_log_level_enabled

#define spa_log_level_enabled | ( |  | l,
|  |  | lev
| ) |  | ((l) && (l)->level >= (lev))

## ◆ spa_log_log

#define spa_log_log | ( |  | l,
|  |  | lev,
|  |  | ...
| ) |  |

Value:
({ \
struct spa_log *_l = l; \
if (SPA_UNLIKELY(spa_log_level_enabled(_l, lev))) \
spa_interface_call(&_l->iface, \
struct spa_log_methods, log, 0, lev, \
__VA_ARGS__); \
})
spa_log_level_enabled
#define spa_log_level_enabled(l, lev)
Definition: build/doc/spa/support/log.h:113
SPA_UNLIKELY
#define SPA_UNLIKELY(x)
Definition: defs.h:242

## ◆ spa_log_logv

#define spa_log_logv | ( |  | l,
|  |  | lev,
|  |  | ...
| ) |  |

Value:
({ \
struct spa_log *_l = l; \
if (SPA_UNLIKELY(spa_log_level_enabled(_l, lev))) \
spa_interface_call(&_l->iface, \
struct spa_log_methods, logv, 0, lev, \
__VA_ARGS__); \
})

## ◆ spa_log_trace

#define spa_log_trace | ( |  | l,
|  |  | ...
| ) |  | spa_log_log(l,SPA_LOG_LEVEL_TRACE,__FILE__,__LINE__,__func__,__VA_ARGS__)

## ◆ spa_log_trace_fp

#define spa_log_trace_fp | ( |  | l,
|  |  | ...
| ) |  | spa_log_log(l,SPA_LOG_LEVEL_TRACE,__FILE__,__LINE__,__func__,__VA_ARGS__)

## ◆ spa_log_warn

#define spa_log_warn | ( |  | l,
|  |  | ...
| ) |  | spa_log_log(l,SPA_LOG_LEVEL_WARN,__FILE__,__LINE__,__func__,__VA_ARGS__)

## ◆ SPA_TYPE_INTERFACE_Log

#define SPA_TYPE_INTERFACE_Log SPA_TYPE_INFO_INTERFACE_BASE "Log"

The Log interface.

## Enumeration Type Documentation

## ◆ spa_log_level

enum spa_log_level

Enumerator
SPA_LOG_LEVEL_NONE |
SPA_LOG_LEVEL_ERROR |
SPA_LOG_LEVEL_WARN |
SPA_LOG_LEVEL_INFO |
SPA_LOG_LEVEL_DEBUG |
SPA_LOG_LEVEL_TRACE |

## Function Documentation

## ◆ spa_log_impl_log()

void spa_log_impl_log | ( | void * | object,
|  | enum spa_log_level | level,
|  | const char * | file,
|  | int | line,
|  | const char * | func,
|  | const char * | fmt,
|  |  | ...
| ) |  |
| inline

## ◆ spa_log_impl_logv()

void spa_log_impl_logv | ( | void * | object,
|  | enum spa_log_level | level,
|  | const char * | file,
|  | int | line,
|  | const char * | func,
|  | const char * | fmt,
|  | va_list | args
| ) |  |
| inline