PipeWire 1.0.3
Loading...
Searching...
No Matches
Logging

Files

file  log.h
 pipewire/log.h
 

Macros

#define PW_LOG_TOPIC_STATIC(var, topic)
 Declare a static log topic named var.
 
#define PW_LOG_TOPIC_EXTERN(var)
 Declare a static log topic named var.
 
#define PW_LOG_TOPIC(var, topic)
 Declare a static log topic named var.
 
#define PW_LOG_TOPIC_INIT(var)
 
#define pw_log_level_enabled(lev)
 Check if a loglevel is enabled.
 
#define pw_log_topic_enabled(lev, t)
 
#define pw_logtv(lev, topic, fmt, ap)
 
#define pw_logt(lev, topic, ...)
 
#define pw_log(lev, ...)
 
#define pw_log_error(...)
 
#define pw_log_warn(...)
 
#define pw_log_info(...)
 
#define pw_log_debug(...)
 
#define pw_log_trace(...)
 
#define pw_logt_error(t, ...)
 
#define pw_logt_warn(t, ...)
 
#define pw_logt_info(t, ...)
 
#define pw_logt_debug(t, ...)
 
#define pw_logt_trace(t, ...)
 
#define pw_log_trace_fp(...)
 

Functions

void pw_log_set (struct spa_log *log)
 Configure a logging module.
 
struct spa_logpw_log_get (void)
 Get the log interface.
 
void pw_log_set_level (enum spa_log_level level)
 Configure the logging level.
 
void pw_log_logt (enum spa_log_level level, const struct spa_log_topic *topic, const char *file, int line, const char *func, const char *fmt,...) 1(6
 Log a message for a topic.
 
void void pw_log_logtv (enum spa_log_level level, const struct spa_log_topic *topic, const char *file, int line, const char *func, const char *fmt, va_list args) 1(6
 Log a message for a topic.
 
void void void pw_log_log (enum spa_log_level level, const char *file, int line, const char *func, const char *fmt,...) 1(5
 Log a message for the default topic.
 
void void void void pw_log_logv (enum spa_log_level level, const char *file, int line, const char *func, const char *fmt, va_list args) 1(5
 Log a message for the default topic.
 

Variables

enum spa_log_level pw_log_level
 The global log level.
 
struct spa_log_topicPW_LOG_TOPIC_DEFAULT
 

Detailed Description

Logging functions of PipeWire

Logging is performed to stdout and stderr. Trace logging is performed in a lockfree ringbuffer and written out from the main thread as to not block the realtime threads.

Macro Definition Documentation

◆ PW_LOG_TOPIC_STATIC

#define PW_LOG_TOPIC_STATIC ( var,
topic )

Declare a static log topic named var.

The usual usage is:

#define PW_LOG_TOPIC_DEFAULT my_topic
void foo() {
pw_log_debug("bar");
}
#define PW_LOG_TOPIC_STATIC(var, topic)
Declare a static log topic named var.
Definition log.h:91
#define pw_log_debug(...)
Definition log.h:134

◆ PW_LOG_TOPIC_EXTERN

#define PW_LOG_TOPIC_EXTERN ( var)
Value:
extern struct spa_log_topic *var
Identifier for a topic.
Definition log.h:83

Declare a static log topic named var.

See PW_LOG_TOPIC_STATIC for an example usage.

◆ PW_LOG_TOPIC

#define PW_LOG_TOPIC ( var,
topic )

Declare a static log topic named var.

See PW_LOG_TOPIC_STATIC for an example usage.

◆ PW_LOG_TOPIC_INIT

#define PW_LOG_TOPIC_INIT ( var)
Value:
struct spa_log * pw_log_get(void)
Get the log interface.
Definition log.c:80
static void spa_log_topic_init(struct spa_log *log, struct spa_log_topic *topic)
Definition log.h:208

◆ pw_log_level_enabled

#define pw_log_level_enabled ( lev)
Value:
(pw_log_level >= (lev))
enum spa_log_level pw_log_level
The global log level.
Definition log.c:25

Check if a loglevel is enabled.

◆ pw_log_topic_enabled

#define pw_log_topic_enabled ( lev,
t )
Value:
((t) && (t)->has_custom_level ? (t)->level >= (lev) : pw_log_level_enabled((lev)))
#define pw_log_level_enabled(lev)
Check if a loglevel is enabled.
Definition log.h:114

◆ pw_logtv

#define pw_logtv ( lev,
topic,
fmt,
ap )

◆ pw_logt

#define pw_logt ( lev,
topic,
... )

◆ pw_log

#define pw_log ( lev,
... )
Value:
pw_logt(lev,PW_LOG_TOPIC_DEFAULT,__VA_ARGS__)
struct spa_log_topic * PW_LOG_TOPIC_DEFAULT
Definition log.c:30
#define pw_logt(lev, topic,...)
Definition log.h:123

◆ pw_log_error

#define pw_log_error ( ...)
Value:
#define pw_log(lev,...)
Definition log.h:129
@ SPA_LOG_LEVEL_ERROR
Definition log.h:47
Examples
bluez-session.c, export-sink.c, export-source.c, export-spa-device.c, export-spa.c, video-dsp-play.c, video-src-alloc.c, video-src-fixate.c, and video-src-reneg.c.

◆ pw_log_warn

◆ pw_log_info

#define pw_log_info ( ...)

◆ pw_log_debug

#define pw_log_debug ( ...)
Value:
@ SPA_LOG_LEVEL_DEBUG
Definition log.h:50
Examples
bluez-session.c, and export-source.c.

◆ pw_log_trace

◆ pw_logt_error

#define pw_logt_error ( t,
... )
Value:

◆ pw_logt_warn

#define pw_logt_warn ( t,
... )
Value:

◆ pw_logt_info

#define pw_logt_info ( t,
... )
Value:

◆ pw_logt_debug

#define pw_logt_debug ( t,
... )
Value:

◆ pw_logt_trace

#define pw_logt_trace ( t,
... )
Value:

◆ pw_log_trace_fp

#define pw_log_trace_fp ( ...)
Value:

Function Documentation

◆ pw_log_set()

void pw_log_set ( struct spa_log * log)

Configure a logging module.

This is usually done automatically in pw_init() but you can install a custom logger before calling pw_init().

Configure a logging module.

Parameters
logthe global log to set

◆ pw_log_get()

struct spa_log * pw_log_get ( void )

Get the log interface.

Get the log interface.

Returns
the global log

◆ pw_log_set_level()

void pw_log_set_level ( enum spa_log_level level)

Configure the logging level.

Configure the logging level.

Parameters
levelthe new log level

◆ pw_log_logt()

void pw_log_logt ( enum spa_log_level level,
const struct spa_log_topic * topic,
const char * file,
int line,
const char * func,
const char * fmt,
... )

Log a message for a topic.

◆ pw_log_logtv()

void void pw_log_logtv ( enum spa_log_level level,
const struct spa_log_topic * topic,
const char * file,
int line,
const char * func,
const char * fmt,
va_list args )

Log a message for a topic.

◆ pw_log_log()

void void void pw_log_log ( enum spa_log_level level,
const char * file,
int line,
const char * func,
const char * fmt,
... )

Log a message for the default topic.

◆ pw_log_logv()

void void void void pw_log_logv ( enum spa_log_level level,
const char * file,
int line,
const char * func,
const char * fmt,
va_list args )

Log a message for the default topic.

Variable Documentation

◆ pw_log_level

enum spa_log_level pw_log_level
extern

The global log level.

◆ PW_LOG_TOPIC_DEFAULT

struct spa_log_topic* PW_LOG_TOPIC_DEFAULT
extern