aboutsummaryrefslogtreecommitdiffstats
path: root/src/libserver/task.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2018-03-13 17:58:16 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2018-03-13 17:58:16 +0000
commit2739b417ab64b52f50fb6191c2660191e4034da9 (patch)
tree4948813900aa8cdcbf78c491167f0412feff4c22 /src/libserver/task.c
parentbaee02f1f70d1ceedf0bf0c5788c55ea0ddb9561 (diff)
downloadrspamd-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.c32
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;