}
-static void do_log_ctx(struct process_send_log_ctx *ctx)
+static void do_log_ctx(struct process_send_log_ctx *ctx, struct list *loggers)
{
struct stream *s = ctx->stream;
struct session *sess = ctx->sess;
size_t sd_size = 0;
int level = -1;
- if (LIST_ISEMPTY(&sess->fe->loggers))
+ if (loggers == NULL)
+ loggers = &sess->fe->loggers;
+
+ if (LIST_ISEMPTY(loggers))
return;
if (s) {
size = sess_build_logline_orig(sess, s, logline, global.max_syslog_len, &sess->fe->logformat, origin);
- __send_log(ctx, &sess->fe->loggers, &sess->fe->log_tag, level,
+ __send_log(ctx, loggers, &sess->fe->log_tag, level,
logline, size, logline_rfc5424, sd_size);
}
ctx.sess = sess;
ctx.stream = s;
ctx.profile = NULL;
- do_log_ctx(&ctx);
+ do_log_ctx(&ctx, NULL);
}
/*
ctx.stream = s;
ctx.profile = rule->arg.do_log.profile;
- do_log_ctx(&ctx);
+ do_log_ctx(&ctx, NULL);
return ACT_RET_CONT;
}