codecs/encoding/format/
mod.rs1#![deny(missing_docs)]
5
6#[cfg(feature = "arrow")]
7mod arrow;
8mod avro;
9mod cef;
10mod common;
11mod csv;
12mod gelf;
13mod json;
14mod logfmt;
15mod native;
16mod native_json;
17#[cfg(feature = "opentelemetry")]
18mod otlp;
19mod protobuf;
20mod raw_message;
21#[cfg(feature = "syslog")]
22mod syslog;
23mod text;
24
25use std::fmt::Debug;
26
27#[cfg(feature = "arrow")]
28pub use arrow::{
29 ArrowEncodingError, ArrowStreamSerializer, ArrowStreamSerializerConfig, SchemaProvider,
30 find_null_non_nullable_fields,
31};
32pub use avro::{AvroSerializer, AvroSerializerConfig, AvroSerializerOptions};
33pub use cef::{CefSerializer, CefSerializerConfig};
34use dyn_clone::DynClone;
35pub use gelf::{GelfSerializer, GelfSerializerConfig};
36pub use json::{JsonSerializer, JsonSerializerConfig, JsonSerializerOptions};
37pub use logfmt::{LogfmtSerializer, LogfmtSerializerConfig};
38pub use native::{NativeSerializer, NativeSerializerConfig};
39pub use native_json::{NativeJsonSerializer, NativeJsonSerializerConfig};
40#[cfg(feature = "opentelemetry")]
41pub use otlp::{OtlpSerializer, OtlpSerializerConfig};
42pub use protobuf::{ProtobufSerializer, ProtobufSerializerConfig, ProtobufSerializerOptions};
43pub use raw_message::{RawMessageSerializer, RawMessageSerializerConfig};
44#[cfg(feature = "syslog")]
45pub use syslog::{SyslogSerializer, SyslogSerializerConfig};
46pub use text::{TextSerializer, TextSerializerConfig};
47use vector_core::event::Event;
48
49pub use self::csv::{CsvSerializer, CsvSerializerConfig};
50
51pub trait Serializer:
53 tokio_util::codec::Encoder<Event, Error = vector_common::Error> + DynClone + Debug + Send + Sync
54{
55}
56
57impl<Encoder> Serializer for Encoder where
60 Encoder: tokio_util::codec::Encoder<Event, Error = vector_common::Error>
61 + Clone
62 + Debug
63 + Send
64 + Sync
65{
66}
67
68dyn_clone::clone_trait_object!(Serializer);