From: Timo Sirainen Date: Thu, 9 Nov 2023 23:45:47 +0000 (+0200) Subject: dict: Add log prefixes to commands that can log something X-Git-Tag: 2.4.0~2439 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=93a53a9d590f0220de28600f36a969cc38c3148b;p=thirdparty%2Fdovecot%2Fcore.git dict: Add log prefixes to commands that can log something --- diff --git a/src/dict/dict-commands.c b/src/dict/dict-commands.c index 051e313f19..a26f63e9dc 100644 --- a/src/dict/dict-commands.c +++ b/src/dict/dict-commands.c @@ -195,6 +195,13 @@ static int cmd_lookup(struct dict_connection_cmd *cmd, const char *const *args) dict_connection_cmd_async(cmd); event_add_str(cmd->event, "key", args[0]); event_add_str(cmd->event, "user", username); + if (username == NULL || username[0] == '\0') { + event_set_append_log_prefix(cmd->event, t_strdup_printf( + "LOOKUP %s: ", args[0])); + } else { + event_set_append_log_prefix(cmd->event, t_strdup_printf( + "LOOKUP %s (user %s): ", args[0], username)); + } const struct dict_op_settings set = { .username = username, }; @@ -337,6 +344,13 @@ static int cmd_iterate(struct dict_connection_cmd *cmd, const char *const *args) flags |= DICT_ITERATE_FLAG_ASYNC; event_add_str(cmd->event, "key", args[2]); event_add_str(cmd->event, "user", username); + if (username == NULL || username[0] == '\0') { + event_set_append_log_prefix(cmd->event, t_strdup_printf( + "ITERATE %s: ", args[2])); + } else { + event_set_append_log_prefix(cmd->event, t_strdup_printf( + "ITERATE %s (user %s): ", args[2], username)); + } cmd->iter = dict_iterate_init(cmd->conn->dict, &set, args[2], flags); cmd->iter_flags = flags; if (max_rows > 0) @@ -389,6 +403,8 @@ static int cmd_begin(struct dict_connection_cmd *cmd, const char *const *args) e_error(cmd->event, "BEGIN: broken input"); return -1; } + event_set_append_log_prefix(cmd->event, "BEGIN: "); + struct dict_op_settings set = { .username = args[1], }; @@ -501,6 +517,14 @@ cmd_commit(struct dict_connection_cmd *cmd, const char *const *args) cmd->trans_id = trans->id; event_add_str(cmd->event, "user", trans->ctx->set.username); + if (trans->ctx->set.username == NULL || + trans->ctx->set.username[0] == '\0') + event_set_append_log_prefix(cmd->event, "COMMIT: "); + else { + event_set_append_log_prefix(cmd->event, t_strdup_printf( + "COMIT (user %s): ", trans->ctx->set.username)); + } + dict_connection_cmd_async(cmd); dict_transaction_commit_async(&trans->ctx, cmd_commit_callback, cmd); return 1;