| 
    PipeWire 0.3.77
    
   | 
 
Logging interface. More...
Files | |
| file | log-impl.h | 
spa/support/log-impl.h  | |
| file | spa/include/spa/support/log.h | 
spa/support/log.h  | |
Data Structures | |
| struct | spa_log | 
| struct | spa_log_topic | 
| Identifier for a topic.  More... | |
| 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_LOG_TOPIC_DEFAULT NULL | 
| The default log topic.  More... | |
| #define | SPA_TYPE_INTERFACE_Log SPA_TYPE_INFO_INTERFACE_BASE "Log" | 
| The Log interface.  More... | |
| #define | SPA_VERSION_LOG 0 | 
| the version of this log.  More... | |
| #define | SPA_VERSION_LOG_TOPIC 0 | 
| #define | SPA_VERSION_LOG_METHODS 1 | 
| #define | SPA_LOG_TOPIC(v, t) (struct spa_log_topic){ .version = (v), .topic = (t)} | 
| #define | spa_log_topic_init(l, topic) | 
| #define | spa_log_level_enabled(l, lev) ((l) && (l)->level >= (lev)) | 
| #define | spa_log_level_topic_enabled(l, topic, lev) | 
| #define | spa_log_logt(l, lev, topic, ...) | 
| #define | spa_log_logtv(l, lev, topic, ...) | 
| #define | spa_logt_lev(l, lev, t, ...) spa_log_logt(l,lev,t,__FILE__,__LINE__,__func__,__VA_ARGS__) | 
| #define | spa_log_lev(l, lev, ...) spa_logt_lev(l,lev,SPA_LOG_TOPIC_DEFAULT,__VA_ARGS__) | 
| #define | spa_log_log(l, lev, ...) spa_log_logt(l,lev,SPA_LOG_TOPIC_DEFAULT,__VA_ARGS__) | 
| #define | spa_log_logv(l, lev, ...) spa_log_logtv(l,lev,SPA_LOG_TOPIC_DEFAULT,__VA_ARGS__) | 
| #define | spa_log_error(l, ...) spa_log_lev(l,SPA_LOG_LEVEL_ERROR,__VA_ARGS__) | 
| #define | spa_log_warn(l, ...) spa_log_lev(l,SPA_LOG_LEVEL_WARN,__VA_ARGS__) | 
| #define | spa_log_info(l, ...) spa_log_lev(l,SPA_LOG_LEVEL_INFO,__VA_ARGS__) | 
| #define | spa_log_debug(l, ...) spa_log_lev(l,SPA_LOG_LEVEL_DEBUG,__VA_ARGS__) | 
| #define | spa_log_trace(l, ...) spa_log_lev(l,SPA_LOG_LEVEL_TRACE,__VA_ARGS__) | 
| #define | spa_logt_error(l, t, ...) spa_logt_lev(l,SPA_LOG_LEVEL_ERROR,t,__VA_ARGS__) | 
| #define | spa_logt_warn(l, t, ...) spa_logt_lev(l,SPA_LOG_LEVEL_WARN,t,__VA_ARGS__) | 
| #define | spa_logt_info(l, t, ...) spa_logt_lev(l,SPA_LOG_LEVEL_INFO,t,__VA_ARGS__) | 
| #define | spa_logt_debug(l, t, ...) spa_logt_lev(l,SPA_LOG_LEVEL_DEBUG,t,__VA_ARGS__) | 
| #define | spa_logt_trace(l, t, ...) spa_logt_lev(l,SPA_LOG_LEVEL_TRACE,t,__VA_ARGS__) | 
| #define | spa_log_trace_fp(l, ...) spa_log_lev(l,SPA_LOG_LEVEL_TRACE,__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, set to "force" to enable colors even when not logging to a terminal  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... | |
| #define | SPA_KEY_LOG_PATTERNS "log.patterns" | 
| Spa:String:JSON array of [ {"pattern" : level}, ... ].  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 | |
| 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) | 
Logging interface.
| #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_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_METHODS 1 | 
| #define SPA_LOG_TOPIC | ( | v, | |
| t | |||
| ) | (struct spa_log_topic){ .version = (v), .topic = (t)} | 
| #define spa_log_topic_init | ( | l, | |
| topic | |||
| ) | 
| #define spa_log_level_enabled | ( | l, | |
| lev | |||
| ) | ((l) && (l)->level >= (lev)) | 
| #define spa_log_level_topic_enabled | ( | l, | |
| topic, | |||
| lev | |||
| ) | 
| #define spa_log_logt | ( | l, | |
| lev, | |||
| topic, | |||
| ... | |||
| ) | 
| #define spa_log_logtv | ( | l, | |
| lev, | |||
| topic, | |||
| ... | |||
| ) | 
| #define spa_logt_lev | ( | l, | |
| lev, | |||
| t, | |||
| ... | |||
| ) | spa_log_logt(l,lev,t,__FILE__,__LINE__,__func__,__VA_ARGS__) | 
| #define spa_log_lev | ( | l, | |
| lev, | |||
| ... | |||
| ) | spa_logt_lev(l,lev,SPA_LOG_TOPIC_DEFAULT,__VA_ARGS__) | 
| #define spa_log_log | ( | l, | |
| lev, | |||
| ... | |||
| ) | spa_log_logt(l,lev,SPA_LOG_TOPIC_DEFAULT,__VA_ARGS__) | 
| #define spa_log_logv | ( | l, | |
| lev, | |||
| ... | |||
| ) | spa_log_logtv(l,lev,SPA_LOG_TOPIC_DEFAULT,__VA_ARGS__) | 
| #define spa_log_error | ( | l, | |
| ... | |||
| ) | spa_log_lev(l,SPA_LOG_LEVEL_ERROR,__VA_ARGS__) | 
| #define spa_log_warn | ( | l, | |
| ... | |||
| ) | spa_log_lev(l,SPA_LOG_LEVEL_WARN,__VA_ARGS__) | 
| #define spa_log_info | ( | l, | |
| ... | |||
| ) | spa_log_lev(l,SPA_LOG_LEVEL_INFO,__VA_ARGS__) | 
| #define spa_log_debug | ( | l, | |
| ... | |||
| ) | spa_log_lev(l,SPA_LOG_LEVEL_DEBUG,__VA_ARGS__) | 
| #define spa_log_trace | ( | l, | |
| ... | |||
| ) | spa_log_lev(l,SPA_LOG_LEVEL_TRACE,__VA_ARGS__) | 
| #define spa_logt_error | ( | l, | |
| t, | |||
| ... | |||
| ) | spa_logt_lev(l,SPA_LOG_LEVEL_ERROR,t,__VA_ARGS__) | 
| #define spa_logt_warn | ( | l, | |
| t, | |||
| ... | |||
| ) | spa_logt_lev(l,SPA_LOG_LEVEL_WARN,t,__VA_ARGS__) | 
| #define spa_logt_info | ( | l, | |
| t, | |||
| ... | |||
| ) | spa_logt_lev(l,SPA_LOG_LEVEL_INFO,t,__VA_ARGS__) | 
| #define spa_logt_debug | ( | l, | |
| t, | |||
| ... | |||
| ) | spa_logt_lev(l,SPA_LOG_LEVEL_DEBUG,t,__VA_ARGS__) | 
| #define spa_logt_trace | ( | l, | |
| t, | |||
| ... | |||
| ) | spa_logt_lev(l,SPA_LOG_LEVEL_TRACE,t,__VA_ARGS__) | 
| #define spa_log_trace_fp | ( | l, | |
| ... | |||
| ) | spa_log_lev(l,SPA_LOG_LEVEL_TRACE,__VA_ARGS__) | 
| #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 timestamps
| #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}, ... ].
| enum spa_log_level | 
      
  | 
  inlinestatic | 
      
  | 
  inlinestatic | 
      
  | 
  inlinestatic | 
      
  | 
  inlinestatic | 
      
  | 
  inlinestatic |