Semagle.Framework


Message

Namespace: Semagle.Logging
Attributes:
[<CompilationRepresentation(4)>]

The Message module contains functions that can help callers compose messages. This module is especially helpful to open to make calls into Logary's facade small.

Functions and values

Function or valueDescription
addCallerInfo(...)
Signature: (memberName:string option * path:string option * line:int option) -> msg:Message -> Message
addExn e msg
Signature: e:exn -> msg:Message -> Message

Adds an exception to the Message, to the 'errors' field, inside a list.

addGauge gaugeName gauge message
Signature: gaugeName:string -> gauge:Gauge -> message:Message -> Message
create context level name value
Signature: context:Map<string,obj> -> level:LogLevel -> name:string [] -> value:string -> Message
event level value
Signature: level:LogLevel -> value:string -> Message

Create a new event log message.

eventX template level
Signature: template:string -> level:LogLevel -> Message

Create a new event log message – like event but with parameters flipped. E.g. logger.verbose (eventX "Returned {code}" >> setField "code" 24)

gauge sensorName gaugeName value
Signature: sensorName:string [] -> gaugeName:string -> value:Value -> Message
gaugeWithUnit sensorName gaugeName gauge
Signature: sensorName:string [] -> gaugeName:string -> gauge:Gauge -> Message
getAllFields(message)
Signature: message:Message -> seq<string * obj>
getAllTags(message)
Signature: message:Message -> Set<'?8322>
Type parameters: '?8322
getContextByPrefix prefix message
Signature: prefix:string -> message:Message -> seq<string * obj>
getExns(msg)
Signature: msg:Message -> exn list
hasTag tag message
Signature: tag:string -> message:Message -> bool

Check if the Message has a tag

setContext name value message
Signature: name:string -> value:'?8311 -> message:Message -> Message
Type parameters: '?8311
setEvent value m
Signature: value:string -> m:Message -> Message

Sets the message value / template / message

setField name value message
Signature: name:string -> value:'?8316 -> message:Message -> Message
Type parameters: '?8316
setFields fields message
Signature: fields:Map<string,obj> -> message:Message -> Message
setLevel level x
Signature: level:LogLevel -> x:Message -> Message

Sets the level on the log message.

setName name x
Signature: name:string [] -> x:Message -> Message

Sets the name/path of the log message.

setNameEnding ending x
Signature: ending:string -> x:Message -> Message

Sets the final portion o fthe name of the Message.

setSingleName name x
Signature: name:string -> x:Message -> Message

Sets the name as a single string; if this string contains dots, the string will be split on these dots.

setTimestamp ts x
Signature: ts:EpochNanoSeconds -> x:Message -> Message

Sets the timestamp on the log message.

tag tag message
Signature: tag:string -> message:Message -> Message

Tag the message

tryGetContext name message
Signature: name:string -> message:Message -> 'a option
Type parameters: 'a
tryGetField name message
Signature: name:string -> message:Message -> 'a option
Type parameters: 'a
Fork me on GitHub