Up

Module Message

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

Signature

module Action : Core.Std.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
| `Envelope of Types.Envelope.t
] -> ?rfc822_id:string -> ?local_id:Types.Envelope.Id.t -> ?sender:[
| `String of string
] -> ?recipients:[
| `Email of Types.Email_address.t
| `String of string
] list -> ?spool_id:string -> ?command:Types.Command.t -> ?reply:Types.Reply.t -> ?tags:(string * string) list -> 'a
val create : (Action.t -> t) with_info
val debugf : (('a, unit, string, t) Core.Std.format4 -> 'a) with_info
val of_error : (Core.Std.Error.t -> t) with_info
val info : (unit -> t) with_info
val level : t -> Async.Std.Log.Level.t
val time : t -> Core.Std.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 rfc822_id : t -> string option
val local_id : t -> Types.Envelope.Id.t option
val spool_id : t -> string option
val 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 -> Core.Std.Host_and_port.t option
val remote_address : t -> Core.Std.Host_and_port.t option
val command : t -> Types.Command.t option
val reply : t -> Types.Reply.t option