- if (event->loglevel_value != key->loglevel_value) {
- if (event->loglevel_type == LTTNG_EVENT_LOGLEVEL_ALL &&
- key->loglevel_value == 0 &&
- event->loglevel_value == -1) {
- goto match;
- }
+ /* Event loglevel value and type. */
+ ll_match = loglevels_match(event->loglevel_type,
+ event->loglevel_value, key->loglevel_type,
+ key->loglevel_value, LTTNG_EVENT_LOGLEVEL_ALL);
+
+ if (!ll_match) {
+ goto no_match;
+ }
+
+ /* Filter expression */
+ if (strncmp(event->filter_expression, key->filter_expression,
+ strlen(event->filter_expression)) != 0) {