Module Async_smtp.Mail_log.Message

Wrapper arround Log.Message.t that allows access to various standardised tag names.

module Action : Core.Identifiable with type t = string
type 'a with_info = flows:Flows.t ‑> component:Component.t ‑> here:Lexing.position ‑> ?local_address:Types.Address.t ‑> ?remote_address:Types.Address.t ‑> ?email:[ `Fingerprint of Mail_fingerprint.t | `Email of Email_message.Std.Email.t | `Envelope of Types.Envelope.t ] ‑> ?rfc822_id:string ‑> ?local_id:Types.Envelope.Id.t ‑> ?sender:[ `Sender of Types.Sender.t | `String of string ] ‑> ?recipients:[ `Email of Types.Email_address.t | `String of string ] list ‑> ?spool_id:string ‑> ?dest:Types.Address.t ‑> ?command:Types.Command.t ‑> ?reply:Types.Reply.t ‑> ?session_marker:Session_marker.t ‑> ?tags:(string * string) list ‑> 'a
type t = Async.Log.Message.t
include sig ... end
val sexp_of_t : t ‑> Sexplib.Sexp.t
val json_of_t : t ‑> Json_wheel_jane_street_overlay.Std.Json_type.json_type
val create : (Action.t ‑> t) with_info
val debugf : (('a, unit, string, tCore.format4 ‑> 'a) with_info
val of_error : (Core.Error.t ‑> t) with_info
val info : (unit ‑> t) with_info
val level : t ‑> Async.Log.Level.t
val time : t ‑> Core.Time.t
val flows : t ‑> Flows.t

Encoded as one tag 'flow' for each Flow id

val component : t ‑> Component.t

The originating component, encoded as tag 'component'. Use of with_flow_and_component will cause this tag to be rewritten.

val action : t ‑> Action.t

Alias for the message field.

val find_tag' : t ‑> tag:string ‑> f:(string ‑> 'a) ‑> 'a option
val find_tag : t ‑> tag:string ‑> string option
val tags : t ‑> (string * string) list
val rfc822_id : t ‑> string option
val local_id : t ‑> Types.Envelope.Id.t option
val spool_id : t ‑> string option
val dest : t ‑> Types.Address.t option
val sender : t ‑> [ `Sender of Types.Sender.t | `String of string ] option
val recipients : t ‑> [ `Email of Types.Email_address.t | `String of string ] list option
val email : t ‑> Mail_fingerprint.t option
val local_address : t ‑> Types.Address.t option
val remote_address : t ‑> Types.Address.t option
val command : t ‑> Types.Command.t option
val reply : t ‑> Types.Reply.t option
val session_marker : t ‑> Session_marker.t option