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 ) |