log: add pw_log_topic_custom_enabled()
Add a function to check if a specfic custom log level has been defined for a topic. We can use this to dynamically check if we need to do the connection debug messages. We can also get rid of the conn.* pattern hack to disable connection messages by default.
This commit is contained in:
parent
5152c98789
commit
a3c6b3acae
|
@ -157,8 +157,6 @@ static const struct spa_dict_item module_props[] = {
|
|||
#define SO_PEERSEC 31
|
||||
#endif
|
||||
|
||||
static bool debug_messages = 0;
|
||||
|
||||
#define LOCK_SUFFIX ".lock"
|
||||
#define LOCK_SUFFIXLEN 5
|
||||
|
||||
|
@ -341,7 +339,7 @@ process_messages(struct client_data *data)
|
|||
pw_log_trace("%p: got message %d from %u", client->protocol,
|
||||
msg->opcode, msg->id);
|
||||
|
||||
if (debug_messages)
|
||||
if (pw_log_topic_custom_enabled(SPA_LOG_LEVEL_DEBUG, mod_topic_connection))
|
||||
debug_msg("<<<<<< in", msg, false);
|
||||
|
||||
pre_demarshal(conn, msg, client, footer_client_demarshal,
|
||||
|
@ -995,7 +993,7 @@ process_remote(struct client *impl)
|
|||
|
||||
this->recv_seq = msg->seq;
|
||||
|
||||
if (debug_messages)
|
||||
if (pw_log_topic_custom_enabled(SPA_LOG_LEVEL_DEBUG, mod_topic_connection))
|
||||
debug_msg("<<<<<< in", msg, false);
|
||||
|
||||
pre_demarshal(conn, msg, this, footer_core_demarshal,
|
||||
|
@ -1709,15 +1707,13 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args_str)
|
|||
if (this == NULL)
|
||||
return -errno;
|
||||
|
||||
debug_messages = mod_topic_connection->level >= SPA_LOG_LEVEL_DEBUG;
|
||||
|
||||
this->implementation = &protocol_impl;
|
||||
this->extension = &protocol_ext_impl;
|
||||
|
||||
pw_protocol_native_init(this);
|
||||
pw_protocol_native0_init(this);
|
||||
|
||||
pw_log_debug("%p: new debug:%d", this, debug_messages);
|
||||
pw_log_debug("%p: new", this);
|
||||
|
||||
d = pw_protocol_get_user_data(this);
|
||||
d->protocol = this;
|
||||
|
|
|
@ -718,7 +718,7 @@ pw_protocol_native_connection_end(struct pw_protocol_native_connection *conn,
|
|||
else
|
||||
buf->n_fds = buf->msg.n_fds;
|
||||
|
||||
if (mod_topic_connection->level >= SPA_LOG_LEVEL_DEBUG) {
|
||||
if (pw_log_topic_custom_enabled(SPA_LOG_LEVEL_DEBUG, mod_topic_connection)) {
|
||||
pw_logt_debug(mod_topic_connection,
|
||||
">>>>>>>>> out: id:%d op:%d size:%d seq:%d fds:%d",
|
||||
buf->msg.id, buf->msg.opcode, size, buf->msg.seq,
|
||||
|
|
|
@ -29,6 +29,8 @@
|
|||
#include "server.h"
|
||||
#include "stream.h"
|
||||
|
||||
PW_LOG_TOPIC_EXTERN(pulse_conn);
|
||||
|
||||
#define client_emit_disconnect(c) spa_hook_list_call(&(c)->listener_list, struct client_events, disconnect, 0)
|
||||
|
||||
struct client *client_new(struct server *server)
|
||||
|
@ -232,7 +234,8 @@ static int client_try_flush_messages(struct client *client)
|
|||
data = m->data + idx;
|
||||
size = m->length - idx;
|
||||
} else {
|
||||
if (debug_messages && m->channel == SPA_ID_INVALID)
|
||||
if (m->channel == SPA_ID_INVALID &&
|
||||
pw_log_topic_custom_enabled(SPA_LOG_LEVEL_INFO, pulse_conn))
|
||||
message_dump(SPA_LOG_LEVEL_INFO, m);
|
||||
message_free(m, true, false);
|
||||
client->out_index = 0;
|
||||
|
|
|
@ -82,8 +82,6 @@ void impl_add_listener(struct impl *impl,
|
|||
struct spa_hook *listener,
|
||||
const struct impl_events *events, void *data);
|
||||
|
||||
extern bool debug_messages;
|
||||
|
||||
void broadcast_subscribe_event(struct impl *impl, uint32_t mask, uint32_t event, uint32_t id);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -73,10 +73,6 @@
|
|||
|
||||
#define TEMPORARY_MOVE_TIMEOUT (SPA_NSEC_PER_SEC)
|
||||
|
||||
PW_LOG_TOPIC_EXTERN(pulse_conn);
|
||||
|
||||
bool debug_messages = false;
|
||||
|
||||
struct latency_offset_data {
|
||||
int64_t prev_latency_offset;
|
||||
uint8_t initialized:1;
|
||||
|
@ -5476,8 +5472,6 @@ struct pw_protocol_pulse *pw_protocol_pulse_new(struct pw_context *context,
|
|||
const char *str;
|
||||
int res = 0;
|
||||
|
||||
debug_messages = pw_log_topic_enabled(SPA_LOG_LEVEL_INFO, pulse_conn);
|
||||
|
||||
impl = calloc(1, sizeof(*impl) + user_data_size);
|
||||
if (impl == NULL)
|
||||
goto error_free_props;
|
||||
|
|
|
@ -46,6 +46,8 @@
|
|||
#define LISTEN_BACKLOG 32
|
||||
#define MAX_CLIENTS 64
|
||||
|
||||
PW_LOG_TOPIC_EXTERN(pulse_conn);
|
||||
|
||||
static int handle_packet(struct client *client, struct message *msg)
|
||||
{
|
||||
uint32_t command, tag;
|
||||
|
@ -67,7 +69,7 @@ static int handle_packet(struct client *client, struct message *msg)
|
|||
goto finish;
|
||||
}
|
||||
|
||||
if (debug_messages) {
|
||||
if (pw_log_topic_custom_enabled(SPA_LOG_LEVEL_INFO, pulse_conn)) {
|
||||
pw_log_debug("client %p: command:%s", client, commands[command].name);
|
||||
message_dump(SPA_LOG_LEVEL_INFO, msg);
|
||||
}
|
||||
|
|
|
@ -310,10 +310,6 @@ parse_log_string(const char *str, struct spa_list *list, enum spa_log_level *lev
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Connection namespace disabled by default */
|
||||
add_pattern(&new_patterns, "conn.*", SPA_LOG_LEVEL_NONE);
|
||||
|
||||
spa_list_insert_list(list, &new_patterns);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -153,6 +153,9 @@ void pw_log_topic_unregister(struct spa_log_topic *t);
|
|||
#define pw_log_level_enabled(lev) (pw_log_level >= (lev))
|
||||
#define pw_log_topic_enabled(lev,t) ((t) && (t)->has_custom_level ? (t)->level >= (lev) : pw_log_level_enabled((lev)))
|
||||
|
||||
/* check is a custom level was assigned to a topic. \since 1.1.0 */
|
||||
#define pw_log_topic_custom_enabled(lev,t) ((t) && (t)->has_custom_level && (t)->level >= (lev))
|
||||
|
||||
#define pw_logtv(lev,topic,fmt,ap) \
|
||||
({ \
|
||||
if (SPA_UNLIKELY(pw_log_topic_enabled(lev,topic))) \
|
||||
|
|
Loading…
Reference in New Issue