Adding log4j agent support
[lttng-tools.git] / src / lib / lttng-ctl / lttng-ctl.c
index a92bf39125b287528d202d9160e09d7b7c7462f2..9686b7d0fa4b9d172ab28fb9619656771ebfdc95 100644 (file)
@@ -74,6 +74,7 @@ static int connected;
  */
 int lttng_opt_quiet;
 int lttng_opt_verbose;
+int lttng_opt_mi;
 
 /*
  * Copy string from src to dst and enforce null terminated byte.
@@ -104,6 +105,7 @@ void lttng_ctl_copy_lttng_domain(struct lttng_domain *dst,
                case LTTNG_DOMAIN_KERNEL:
                case LTTNG_DOMAIN_UST:
                case LTTNG_DOMAIN_JUL:
+               case LTTNG_DOMAIN_LOG4J:
                        memcpy(dst, src, sizeof(struct lttng_domain));
                        break;
                default:
@@ -824,6 +826,12 @@ static int generate_filter(char *filter_expression,
                ret = -LTTNG_ERR_FILTER_INVAL;
                goto parse_error;
        }
+       /* Validate strings used as literals in the expression */
+       ret = filter_visitor_ir_validate_string(ctx);
+       if (ret) {
+               ret = -LTTNG_ERR_FILTER_INVAL;
+               goto parse_error;
+       }
        dbg_printf("done\n");
 
        dbg_printf("Generating bytecode... ");
@@ -931,7 +939,8 @@ int lttng_enable_event_with_exclusions(struct lttng_handle *handle,
         * filtering by logger name.
         */
        if (exclusion_count == 0 && filter_expression == NULL &&
-                       handle->domain.type != LTTNG_DOMAIN_JUL) {
+                       (handle->domain.type != LTTNG_DOMAIN_JUL &&
+                               handle->domain.type != LTTNG_DOMAIN_LOG4J)) {
                goto ask_sessiond;
        }
 
@@ -941,8 +950,10 @@ int lttng_enable_event_with_exclusions(struct lttng_handle *handle,
         */
 
        /* Parse filter expression */
-       if (filter_expression != NULL || handle->domain.type == LTTNG_DOMAIN_JUL) {
-               if (handle->domain.type == LTTNG_DOMAIN_JUL) {
+       if (filter_expression != NULL || handle->domain.type == LTTNG_DOMAIN_JUL
+                       || handle->domain.type == LTTNG_DOMAIN_LOG4J) {
+               if (handle->domain.type == LTTNG_DOMAIN_JUL ||
+                               handle->domain.type == LTTNG_DOMAIN_LOG4J) {
                        char *jul_filter;
 
                        /* Setup JUL filter if needed. */
This page took 0.024472 seconds and 5 git commands to generate.