This commit adds support for transport=log.
The log transport ignores transport_args.
event-exporter-fmt-json.c \
event-exporter-fmt-none.c \
event-exporter-transport-drop.c \
+ event-exporter-transport-log.c \
main.c \
stats-event-category.c \
stats-metrics.c \
--- /dev/null
+/* Copyright (c) 2019 Dovecot authors, see the included COPYING file */
+
+#include "lib.h"
+#include "ioloop.h"
+#include "str.h"
+#include "event-exporter.h"
+
+void event_export_transport_log(const struct exporter *exporter ATTR_UNUSED,
+ const buffer_t *buf)
+{
+ i_info("%.*s", (int)buf->used, (const char *)buf->data);
+}
/* transport functions */
void event_export_transport_drop(const struct exporter *exporter, const buffer_t *buf);
+void event_export_transport_log(const struct exporter *exporter, const buffer_t *buf);
/* append a microsecond resolution RFC3339 UTC timestamp */
void event_export_helper_fmt_rfc3339_time(string_t *dest, const struct timeval *time);
*/
if (strcmp(set->transport, "drop") == 0) {
exporter->transport = event_export_transport_drop;
+ } else if (strcmp(set->transport, "log") == 0) {
+ exporter->transport = event_export_transport_log;
} else {
i_unreached();
}
static void stats_export_deinit(void)
{
/* no need for event_export_transport_drop_deinit() - no-op */
+ /* no need for event_export_transport_log_deinit() - no-op */
}
void stats_metrics_deinit(struct stats_metrics **_metrics)
if (set->transport[0] == '\0') {
*error_r = "Exporter transport name can't be empty";
return FALSE;
- } else if (strcmp(set->transport, "drop") == 0) {
+ } else if (strcmp(set->transport, "drop") == 0 ||
+ strcmp(set->transport, "log") == 0) {
/* no-op */
} else {
*error_r = t_strdup_printf("Unknown transport type '%s'",