| PipeWire 1.4.6
    | 
Logging interface. More...
| Files | |
| file | log-impl.h | 
| spa/support/log-impl.h | |
| file | log.h | 
| spa/support/log.h | |
| Data Structures | |
| struct | spa_log | 
| struct | spa_log_topic | 
| Identifier for a topic.  More... | |
| struct | spa_log_topic_enum | 
| Enumeration of log topics in a plugin.  More... | |
| struct | spa_log_methods | 
| 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 } | 
| Macros | |
| #define | SPA_LOG_IMPL_DEFINE(name) | 
| #define | SPA_LOG_IMPL_INIT(name) | 
| #define | SPA_LOG_IMPL(name) | 
| #define | SPA_LOG_TOPIC_DEFAULT NULL | 
| The default log topic. | |
| #define | SPA_TYPE_INTERFACE_Log SPA_TYPE_INFO_INTERFACE_BASE "Log" | 
| The Log interface. | |
| #define | SPA_VERSION_LOG 0 | 
| the version of this log. | |
| #define | SPA_VERSION_LOG_TOPIC 0 | 
| #define | SPA_VERSION_LOG_TOPIC_ENUM 0 | 
| #define | SPA_VERSION_LOG_METHODS 1 | 
| #define | SPA_LOG_TOPIC(v, t) | 
| #define | spa_log_logt(l, lev, topic, ...) | 
| #define | spa_logt_lev(l, lev, t, ...) | 
| #define | spa_log_lev(l, lev, ...) | 
| #define | spa_log_log(l, lev, ...) | 
| #define | spa_log_logv(l, lev, ...) | 
| #define | spa_log_error(l, ...) | 
| #define | spa_log_warn(l, ...) | 
| #define | spa_log_info(l, ...) | 
| #define | spa_log_debug(l, ...) | 
| #define | spa_log_trace(l, ...) | 
| #define | spa_logt_error(l, t, ...) | 
| #define | spa_logt_warn(l, t, ...) | 
| #define | spa_logt_info(l, t, ...) | 
| #define | spa_logt_debug(l, t, ...) | 
| #define | spa_logt_trace(l, t, ...) | 
| #define | spa_log_trace_fp(l, ...) | 
| #define | SPA_LOG_TOPIC_ENUM_NAME "spa_log_topic_enum" | 
| Name of the symbol indicating a spa_log_topic_enum enumerating the static log topics in a plugin,. | |
| #define | SPA_LOG_TOPIC_ENUM_DEFINE(s, e) | 
| Define the symbol for SPA_LOG_TOPIC_ENUM_NAME. | |
| #define | SPA_LOG_TOPIC_REGISTER(v) | 
| Magically register a statically defined spa_log_topic into the log topic enumeration for a plugin. | |
| #define | SPA_LOG_TOPIC_DEFINE(var, name) | 
| Define and magically register a spa_log_topic. | |
| #define | SPA_LOG_TOPIC_DEFINE_STATIC(var, name) | 
| Define and magically register a spa_log_topic with static scope. | |
| #define | SPA_LOG_TOPIC_ENUM_DEFINE_REGISTERED | 
| Do SPA_LOG_TOPIC_ENUM_DEFINE for the auto-registered spa_log_topic in the plugin. | |
| #define | SPA_KEY_LOG_LEVEL "log.level" | 
| keys can be given when initializing the logger handle | |
| #define | SPA_KEY_LOG_COLORS "log.colors" | 
| enable colors in the logger, set to "force" to enable colors even when not logging to a terminal | |
| #define | SPA_KEY_LOG_FILE "log.file" | 
| log to the specified file instead of stderr. | |
| #define | SPA_KEY_LOG_TIMESTAMP "log.timestamp" | 
| log timestamp type (local, realtime, monotonic, monotonic-raw). | |
| #define | SPA_KEY_LOG_LINE "log.line" | 
| log file and line numbers | |
| #define | SPA_KEY_LOG_PATTERNS "log.patterns" | 
| Spa:String:JSON array of [ {"pattern" : level}, ... ]. | |
| Functions | |
| static void | spa_log_impl_logtv (void *object, 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) | 
| static void | spa_log_impl_logt (void *object, enum spa_log_level level, const struct spa_log_topic *topic, const char *file, int line, const char *func, const char *fmt,...) | 
| static 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) | 
| static void | spa_log_impl_log (void *object, enum spa_log_level level, const char *file, int line, const char *func, const char *fmt,...) | 
| static void | spa_log_impl_topic_init (void *object, struct spa_log_topic *topic 1) | 
| SPA_API_LOG void | spa_log_topic_init (struct spa_log *log, struct spa_log_topic *topic) | 
| SPA_API_LOG bool | spa_log_level_topic_enabled (const struct spa_log *log, const struct spa_log_topic *topic, enum spa_log_level level) | 
| SPA_API_LOG void | spa_log_logtv (struct spa_log *l, 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) | 
Logging interface.
| enum spa_log_level | 
| #define SPA_LOG_IMPL_DEFINE | ( | name | ) | 
| #define SPA_LOG_IMPL_INIT | ( | name | ) | 
| #define SPA_LOG_IMPL | ( | name | ) | 
| #define SPA_LOG_TOPIC_DEFAULT NULL | 
The default log topic.
Redefine this in your code to allow for the spa_log_* macros to work correctly, e.g:
| #define SPA_TYPE_INTERFACE_Log SPA_TYPE_INFO_INTERFACE_BASE "Log" | 
The Log interface.
| #define SPA_VERSION_LOG 0 | 
the version of this log.
This can be used to expand this structure in the future
| #define SPA_VERSION_LOG_TOPIC 0 | 
| #define SPA_VERSION_LOG_TOPIC_ENUM 0 | 
| #define SPA_VERSION_LOG_METHODS 1 | 
| #define SPA_LOG_TOPIC | ( | v, | |
| t ) | 
| #define spa_log_logt | ( | l, | |
| lev, | |||
| topic, | |||
| ... ) | 
| #define spa_logt_lev | ( | l, | |
| lev, | |||
| t, | |||
| ... ) | 
| #define spa_log_lev | ( | l, | |
| lev, | |||
| ... ) | 
| #define spa_log_log | ( | l, | |
| lev, | |||
| ... ) | 
| #define spa_log_logv | ( | l, | |
| lev, | |||
| ... ) | 
| #define spa_log_error | ( | l, | |
| ... ) | 
| #define spa_log_warn | ( | l, | |
| ... ) | 
| #define spa_log_info | ( | l, | |
| ... ) | 
| #define spa_log_debug | ( | l, | |
| ... ) | 
| #define spa_log_trace | ( | l, | |
| ... ) | 
| #define spa_logt_error | ( | l, | |
| t, | |||
| ... ) | 
| #define spa_logt_warn | ( | l, | |
| t, | |||
| ... ) | 
| #define spa_logt_info | ( | l, | |
| t, | |||
| ... ) | 
| #define spa_logt_debug | ( | l, | |
| t, | |||
| ... ) | 
| #define spa_logt_trace | ( | l, | |
| t, | |||
| ... ) | 
| #define spa_log_trace_fp | ( | l, | |
| ... ) | 
| #define SPA_LOG_TOPIC_ENUM_NAME "spa_log_topic_enum" | 
Name of the symbol indicating a spa_log_topic_enum enumerating the static log topics in a plugin,.
| #define SPA_LOG_TOPIC_ENUM_DEFINE | ( | s, | |
| e ) | 
Define the symbol for SPA_LOG_TOPIC_ENUM_NAME.
| #define SPA_LOG_TOPIC_REGISTER | ( | v | ) | 
Magically register a statically defined spa_log_topic into the log topic enumeration for a plugin.
| #define SPA_LOG_TOPIC_DEFINE | ( | var, | |
| name ) | 
Define and magically register a spa_log_topic.
| #define SPA_LOG_TOPIC_DEFINE_STATIC | ( | var, | |
| name ) | 
Define and magically register a spa_log_topic with static scope.
| #define SPA_LOG_TOPIC_ENUM_DEFINE_REGISTERED | 
Do SPA_LOG_TOPIC_ENUM_DEFINE for the auto-registered spa_log_topic in the plugin.
| #define SPA_KEY_LOG_LEVEL "log.level" | 
keys can be given when initializing the logger handle
the default log level
| #define SPA_KEY_LOG_COLORS "log.colors" | 
enable colors in the logger, set to "force" to enable colors even when not logging to a terminal
| #define SPA_KEY_LOG_FILE "log.file" | 
log to the specified file instead of stderr.
| #define SPA_KEY_LOG_TIMESTAMP "log.timestamp" | 
log timestamp type (local, realtime, monotonic, monotonic-raw).
boolean true means local.
| #define SPA_KEY_LOG_LINE "log.line" | 
log file and line numbers
| #define SPA_KEY_LOG_PATTERNS "log.patterns" | 
Spa:String:JSON array of [ {"pattern" : level}, ... ].
| 
 | inlinestatic | 
| 
 | inlinestatic | 
| 
 | inlinestatic | 
| 
 | inlinestatic | 
| 
 | inlinestatic | 
| SPA_API_LOG void spa_log_topic_init | ( | struct spa_log * | log, | 
| struct spa_log_topic * | topic ) | 
| SPA_API_LOG bool spa_log_level_topic_enabled | ( | const struct spa_log * | log, | 
| const struct spa_log_topic * | topic, | ||
| enum spa_log_level | level ) | 
| SPA_API_LOG void spa_log_logtv | ( | struct spa_log * | l, | 
| 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 ) |