pub struct JsonLogRecord {Show 27 fields
pub kind: RecordType,
pub id: String,
pub sender: String,
pub recipient: String,
pub queue: String,
pub site: String,
pub size: u64,
pub response: Response,
pub peer_address: Option<ResolvedAddress>,
pub timestamp: DateTime<Utc>,
pub created: DateTime<Utc>,
pub num_attempts: u16,
pub bounce_classification: BounceClass,
pub egress_pool: Option<String>,
pub egress_source: Option<String>,
pub source_address: Option<MaybeProxiedSourceAddress>,
pub feedback_report: Option<Box<ARFReport>>,
pub meta: HashMap<String, Value>,
pub headers: HashMap<String, Value>,
pub delivery_protocol: Option<String>,
pub reception_protocol: Option<String>,
pub nodeid: Uuid,
pub tls_cipher: Option<String>,
pub tls_protocol_version: Option<String>,
pub tls_peer_subject_name: Option<Vec<String>>,
pub provider_name: Option<String>,
pub session_id: Option<Uuid>,
}
Fields§
§kind: RecordType
What kind of record this is
id: String
The message id
sender: String
The envelope sender
recipient: String
The envelope recipient
queue: String
Which named queue the message was associated with
site: String
Which MX site the message was being delivered to
size: u64
The size of the message, in bytes
response: Response
The response from/to the peer
peer_address: Option<ResolvedAddress>
The address of the peer, and our sense of its hostname or EHLO domain
timestamp: DateTime<Utc>
The time at which we are logging this event
created: DateTime<Utc>
The time at which the message was initially received and created
num_attempts: u16
The number of delivery attempts that have been made. Note that this may be approximate after a restart; use the number of logged events to determine the true number
bounce_classification: BounceClass
§egress_pool: Option<String>
§egress_source: Option<String>
§source_address: Option<MaybeProxiedSourceAddress>
§feedback_report: Option<Box<ARFReport>>
§meta: HashMap<String, Value>
§headers: HashMap<String, Value>
§delivery_protocol: Option<String>
The protocol used to deliver, or attempt to deliver, this message
reception_protocol: Option<String>
The protocol used to receive this message
nodeid: Uuid
The id of the node on which the event occurred
tls_cipher: Option<String>
The TLS Cipher used, if applicable
tls_protocol_version: Option<String>
The TLS protocol version used, if applicable
tls_peer_subject_name: Option<Vec<String>>
The Subject Name from the peer TLS certificate, if applicable
provider_name: Option<String>
The provider name, if any. This is a way of grouping destination sites operated by the same provider.
session_id: Option<Uuid>
Uuid identifying a connection/session for either inbound or outbound (depending on the type of the record). This is useful when correlating a series of messages to the same connection for either ingress or egress
Trait Implementations§
source§impl Clone for JsonLogRecord
impl Clone for JsonLogRecord
source§fn clone(&self) -> JsonLogRecord
fn clone(&self) -> JsonLogRecord
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for JsonLogRecord
impl Debug for JsonLogRecord
source§impl<'de> Deserialize<'de> for JsonLogRecord
impl<'de> Deserialize<'de> for JsonLogRecord
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for JsonLogRecord
impl RefUnwindSafe for JsonLogRecord
impl Send for JsonLogRecord
impl Sync for JsonLogRecord
impl Unpin for JsonLogRecord
impl UnwindSafe for JsonLogRecord
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)