diff --git a/src/log.c b/src/log.c index 053ef8450..0227a2a8c 100644 --- a/src/log.c +++ b/src/log.c @@ -5121,8 +5121,13 @@ int sess_build_logline_orig(struct session *sess, struct stream *s, case LOG_FMT_UNIQUEID: // %ID ret = NULL; - if (s) + if (s) { + /* if unique-id was not generated */ + if (!isttest(s->unique_id) && !lf_expr_isempty(&sess->fe->format_unique_id)) { + stream_generate_unique_id(s, &sess->fe->format_unique_id); + } ret = lf_text_len(tmplog, s->unique_id.ptr, s->unique_id.len, maxsize - (tmplog - dst), ctx); + } else ret = lf_text_len(tmplog, NULL, 0, maxsize - (tmplog - dst), ctx); if (ret == NULL) @@ -5218,10 +5223,6 @@ void do_log(struct session *sess, struct stream *s, struct log_orig origin) } level = s->logs.level - 1; } - /* if unique-id was not generated */ - if (!isttest(s->unique_id) && !lf_expr_isempty(&sess->fe->format_unique_id)) { - stream_generate_unique_id(s, &sess->fe->format_unique_id); - } } if (level == -1) { @@ -5282,11 +5283,6 @@ void strm_log(struct stream *s, struct log_orig origin) level = LOG_ERR; } - /* if unique-id was not generated */ - if (!isttest(s->unique_id) && !lf_expr_isempty(&sess->fe->format_unique_id)) { - stream_generate_unique_id(s, &sess->fe->format_unique_id); - } - if (!lf_expr_isempty(&sess->fe->logformat_sd)) { sd_size = build_logline_orig(s, logline_rfc5424, global.max_syslog_len, &sess->fe->logformat_sd, origin);