diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2018-03-13 17:58:16 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2018-03-13 17:58:16 +0000 |
commit | 2739b417ab64b52f50fb6191c2660191e4034da9 (patch) | |
tree | 4948813900aa8cdcbf78c491167f0412feff4c22 /src/libserver/task.c | |
parent | baee02f1f70d1ceedf0bf0c5788c55ea0ddb9561 (diff) | |
download | rspamd-2739b417ab64b52f50fb6191c2660191e4034da9.tar.gz rspamd-2739b417ab64b52f50fb6191c2660191e4034da9.zip |
[Feature] Add filename to log format
Diffstat (limited to 'src/libserver/task.c')
-rw-r--r-- | src/libserver/task.c | 32 |
1 files changed, 24 insertions, 8 deletions
diff --git a/src/libserver/task.c b/src/libserver/task.c index dfb7f07c9..55a00649d 100644 --- a/src/libserver/task.c +++ b/src/libserver/task.c @@ -986,6 +986,11 @@ rspamd_task_log_check_condition (struct rspamd_task *task, ret = TRUE; } break; + case RSPAMD_LOG_FILENAME: + if (task->msg.fpath) { + ret = TRUE; + } + break; default: ret = TRUE; break; @@ -1268,6 +1273,7 @@ rspamd_task_log_variable (struct rspamd_task *task, rspamd_fstring_t *res = logbuf; rspamd_ftok_t var = {.begin = NULL, .len = 0}; static gchar numbuf[64]; + static const gchar undef[] = "undef"; switch (lf->type) { /* String vars */ @@ -1277,8 +1283,8 @@ rspamd_task_log_variable (struct rspamd_task *task, var.len = strlen (var.begin); } else { - var.begin = "undef"; - var.len = 5; + var.begin = undef; + var.len = sizeof (undef) - 1; } break; case RSPAMD_LOG_QID: @@ -1287,8 +1293,8 @@ rspamd_task_log_variable (struct rspamd_task *task, var.len = strlen (var.begin); } else { - var.begin = "undef"; - var.len = 5; + var.begin = undef; + var.len = sizeof (undef) - 1; } break; case RSPAMD_LOG_USER: @@ -1297,8 +1303,8 @@ rspamd_task_log_variable (struct rspamd_task *task, var.len = strlen (var.begin); } else { - var.begin = "undef"; - var.len = 5; + var.begin = undef; + var.len = sizeof (undef) - 1; } break; case RSPAMD_LOG_IP: @@ -1307,8 +1313,8 @@ rspamd_task_log_variable (struct rspamd_task *task, var.len = strlen (var.begin); } else { - var.begin = "undef"; - var.len = 5; + var.begin = undef; + var.len = sizeof (undef) - 1; } break; /* Numeric vars */ @@ -1376,6 +1382,16 @@ rspamd_task_log_variable (struct rspamd_task *task, (gint)sizeof (task->digest), task->digest); var.begin = numbuf; break; + case RSPAMD_LOG_FILENAME: + if (task->msg.fpath) { + var.len = strlen (task->msg.fpath); + var.begin = task->msg.fpath; + } + else { + var.begin = undef; + var.len = sizeof (undef) - 1; + } + break; default: var = rspamd_task_log_metric_res (task, lf); break; |