This is an automated email from the ASF dual-hosted git repository. rjung pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat-connectors.git
The following commit(s) were added to refs/heads/main by this push: new edb52b89f Provide jk_request_log adding request id to mod_jk error log lines edb52b89f is described below commit edb52b89f78606439df1d0013463dbae55b46980 Author: Rainer Jung <rainer.j...@kippdata.de> AuthorDate: Fri May 27 14:20:21 2022 +0200 Provide jk_request_log adding request id to mod_jk error log lines --- native/common/jk_util.c | 28 +++++++++++++++++++++++++++- native/common/jk_util.h | 8 +++++--- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/native/common/jk_util.c b/native/common/jk_util.c index 7149fc68a..5df4f2a1d 100644 --- a/native/common/jk_util.c +++ b/native/common/jk_util.c @@ -694,7 +694,7 @@ int jk_close_file_logger(jk_logger_t **l) return JK_FALSE; } -int jk_log(jk_logger_t *l, +int jk_request_log(jk_ws_service_t *s, jk_logger_t *l, const char *file, int line, const char *funcname, int level, const char *fmt, ...) { @@ -726,6 +726,32 @@ int jk_log(jk_logger_t *l, used = set_time_str(buf, usable_size, l); if (line) { /* line==0 only used for request log item */ + /* Log [requestid] for all levels except REQUEST. + */ + const char *request_id; + if (s == NULL) { + request_id = "-"; + rc = 1; + } else if (s->request_id == NULL) { + request_id = "NO-ID"; + rc = 1; + } else { + request_id = s->request_id; + rc = (int)strlen(request_id); + } + if (usable_size - used >= rc + 3) { + strncpy(buf + used, "[", 1); + used += 1; + strncpy(buf + used, request_id, rc); + used += rc; + strncpy(buf + used, "] ", 2); + used += 2; + } else { + strcpy(buf, "Logging failed in request_id formatting"); + l->log(l, level, (int)strlen(buf), buf); + return 0; + } + /* Log [pid:threadid] for all levels except REQUEST. * This information helps to correlate lines from different logs. * Performance is no issue, because with production log levels diff --git a/native/common/jk_util.h b/native/common/jk_util.h index db15775c2..b8e15500d 100644 --- a/native/common/jk_util.h +++ b/native/common/jk_util.h @@ -53,9 +53,11 @@ int jk_attach_file_logger(jk_logger_t **l, int fd, int level); int jk_close_file_logger(jk_logger_t **l); -int jk_log(jk_logger_t *l, - const char *file, int line, const char *funcname, int level, - const char *fmt, ...); +int jk_request_log(jk_ws_service_t *s, jk_logger_t *l, + const char *file, int line, const char *funcname, int level, + const char *fmt, ...); + +#define jk_log(...) jk_request_log(NULL, __VA_ARGS__) int jk_check_attribute_length(const char *name, const char *value, jk_logger_t *l); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org