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