mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-12 13:30:15 -05:00
Improve logging
This commit is contained in:
parent
0398f997d7
commit
e92e1acec4
4 changed files with 44 additions and 23 deletions
|
|
@ -21,7 +21,9 @@
|
||||||
|
|
||||||
#include <pinos/client/log.h>
|
#include <pinos/client/log.h>
|
||||||
|
|
||||||
SpaLogLevel pinos_log_level = SPA_LOG_LEVEL_DEBUG;
|
#define DEFAULT_LOG_LEVEL SPA_LOG_LEVEL_ERROR
|
||||||
|
|
||||||
|
SpaLogLevel pinos_log_level = DEFAULT_LOG_LEVEL;
|
||||||
|
|
||||||
static void
|
static void
|
||||||
do_logv (SpaLog *log,
|
do_logv (SpaLog *log,
|
||||||
|
|
@ -67,7 +69,7 @@ do_log (SpaLog *log,
|
||||||
static SpaLog log = {
|
static SpaLog log = {
|
||||||
sizeof (SpaLog),
|
sizeof (SpaLog),
|
||||||
NULL,
|
NULL,
|
||||||
SPA_LOG_LEVEL_DEBUG,
|
DEFAULT_LOG_LEVEL,
|
||||||
do_log,
|
do_log,
|
||||||
do_logv,
|
do_logv,
|
||||||
};
|
};
|
||||||
|
|
@ -78,6 +80,12 @@ pinos_log_get (void)
|
||||||
return &log;
|
return &log;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
pinos_log_set_level (SpaLogLevel level)
|
||||||
|
{
|
||||||
|
pinos_log_level = level;
|
||||||
|
log.level = level;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
pinos_log_log (SpaLogLevel level,
|
pinos_log_log (SpaLogLevel level,
|
||||||
|
|
@ -86,7 +94,7 @@ pinos_log_log (SpaLogLevel level,
|
||||||
const char *func,
|
const char *func,
|
||||||
const char *fmt, ...)
|
const char *fmt, ...)
|
||||||
{
|
{
|
||||||
if (log.level >= level) {
|
if (SPA_UNLIKELY (pinos_log_level_enabled (level))) {
|
||||||
va_list args;
|
va_list args;
|
||||||
va_start (args, fmt);
|
va_start (args, fmt);
|
||||||
do_logv (&log, level, file, line, func, fmt, args);
|
do_logv (&log, level, file, line, func, fmt, args);
|
||||||
|
|
@ -102,7 +110,7 @@ pinos_log_logv (SpaLogLevel level,
|
||||||
const char *fmt,
|
const char *fmt,
|
||||||
va_list args)
|
va_list args)
|
||||||
{
|
{
|
||||||
if (log.level >= level) {
|
if (SPA_UNLIKELY (pinos_log_level_enabled (level))) {
|
||||||
do_logv (&log, level, file, line, func, fmt, args);
|
do_logv (&log, level, file, line, func, fmt, args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@ extern SpaLogLevel pinos_log_level;
|
||||||
|
|
||||||
SpaLog * pinos_log_get (void);
|
SpaLog * pinos_log_get (void);
|
||||||
|
|
||||||
|
void pinos_log_set_level (SpaLogLevel level);
|
||||||
|
|
||||||
void pinos_log_log (SpaLogLevel level,
|
void pinos_log_log (SpaLogLevel level,
|
||||||
const char *file,
|
const char *file,
|
||||||
|
|
@ -43,10 +44,12 @@ void pinos_log_logv (SpaLogLevel level,
|
||||||
const char *fmt,
|
const char *fmt,
|
||||||
va_list args) SPA_PRINTF_FUNC(5, 0);
|
va_list args) SPA_PRINTF_FUNC(5, 0);
|
||||||
|
|
||||||
|
#define pinos_log_level_enabled(lev) (pinos_log_level >= (lev))
|
||||||
|
|
||||||
#if __STDC_VERSION__ >= 199901L
|
#if __STDC_VERSION__ >= 199901L
|
||||||
|
|
||||||
#define pinos_log_logc(lev,...) \
|
#define pinos_log_logc(lev,...) \
|
||||||
if (SPA_UNLIKELY (lev <= pinos_log_level)) \
|
if (SPA_UNLIKELY (pinos_log_level_enabled (lev))) \
|
||||||
pinos_log_log(lev,__VA_ARGS__)
|
pinos_log_log(lev,__VA_ARGS__)
|
||||||
|
|
||||||
#define pinos_log_error(...) pinos_log_logc(SPA_LOG_LEVEL_ERROR,__FILE__,__LINE__,__func__,__VA_ARGS__)
|
#define pinos_log_error(...) pinos_log_logc(SPA_LOG_LEVEL_ERROR,__FILE__,__LINE__,__func__,__VA_ARGS__)
|
||||||
|
|
@ -60,7 +63,7 @@ void pinos_log_logv (SpaLogLevel level,
|
||||||
#define PINOS_LOG_FUNC(name,lev) \
|
#define PINOS_LOG_FUNC(name,lev) \
|
||||||
static inline void pinos_log_##name (const char *format, ...) \
|
static inline void pinos_log_##name (const char *format, ...) \
|
||||||
{ \
|
{ \
|
||||||
if (lev >= pinos_log_level) { \
|
if (SPA_UNLIKELY (pinos_log_level_enabled (lev))) \
|
||||||
va_list varargs; \
|
va_list varargs; \
|
||||||
va_start (varargs, format); \
|
va_start (varargs, format); \
|
||||||
pinos_log_logv (lev,__FILE__,__LINE__,__func__,format,varargs); \
|
pinos_log_logv (lev,__FILE__,__LINE__,__func__,format,varargs); \
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,10 @@
|
||||||
void
|
void
|
||||||
pinos_init (int *argc, char **argv[])
|
pinos_init (int *argc, char **argv[])
|
||||||
{
|
{
|
||||||
|
const char *str;
|
||||||
|
|
||||||
|
if ((str = getenv ("PINOS_DEBUG")))
|
||||||
|
pinos_log_set_level (atoi (str));
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *
|
const char *
|
||||||
|
|
|
||||||
|
|
@ -102,6 +102,7 @@ again:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
pinos_log_debug ("Try filter: %p", filter);
|
pinos_log_debug ("Try filter: %p", filter);
|
||||||
|
if (pinos_log_level_enabled (SPA_LOG_LEVEL_DEBUG))
|
||||||
spa_debug_format (filter);
|
spa_debug_format (filter);
|
||||||
|
|
||||||
if ((res = spa_node_port_enum_formats (this->output->node->node,
|
if ((res = spa_node_port_enum_formats (this->output->node->node,
|
||||||
|
|
@ -118,7 +119,9 @@ again:
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
pinos_log_debug ("Got filtered:");
|
pinos_log_debug ("Got filtered:");
|
||||||
|
if (pinos_log_level_enabled (SPA_LOG_LEVEL_DEBUG))
|
||||||
spa_debug_format (format);
|
spa_debug_format (format);
|
||||||
|
|
||||||
spa_format_fixate (format);
|
spa_format_fixate (format);
|
||||||
} else if (in_state == SPA_NODE_STATE_CONFIGURE && out_state > SPA_NODE_STATE_CONFIGURE) {
|
} else if (in_state == SPA_NODE_STATE_CONFIGURE && out_state > SPA_NODE_STATE_CONFIGURE) {
|
||||||
/* only input needs format */
|
/* only input needs format */
|
||||||
|
|
@ -142,6 +145,7 @@ again:
|
||||||
return SPA_RESULT_OK;
|
return SPA_RESULT_OK;
|
||||||
|
|
||||||
pinos_log_debug ("link %p: doing set format", this);
|
pinos_log_debug ("link %p: doing set format", this);
|
||||||
|
if (pinos_log_level_enabled (SPA_LOG_LEVEL_DEBUG))
|
||||||
spa_debug_format (format);
|
spa_debug_format (format);
|
||||||
|
|
||||||
if (out_state == SPA_NODE_STATE_CONFIGURE) {
|
if (out_state == SPA_NODE_STATE_CONFIGURE) {
|
||||||
|
|
@ -371,8 +375,10 @@ do_allocation (PinosLink *this, SpaNodeState in_state, SpaNodeState out_state)
|
||||||
asprintf (&error, "error get input port info: %d", res);
|
asprintf (&error, "error get input port info: %d", res);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
if (pinos_log_level_enabled (SPA_LOG_LEVEL_DEBUG)) {
|
||||||
spa_debug_port_info (oinfo);
|
spa_debug_port_info (oinfo);
|
||||||
spa_debug_port_info (iinfo);
|
spa_debug_port_info (iinfo);
|
||||||
|
}
|
||||||
|
|
||||||
in_flags = iinfo->flags;
|
in_flags = iinfo->flags;
|
||||||
out_flags = oinfo->flags;
|
out_flags = oinfo->flags;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue