Log.TransformA transform is a function to be called on each log invocation *synchronously* that can be used to change things about the message at the time that they were written.
The transform function *will not* be called if the initial message is of a level that is more verbose than the level of the Log.t.
The transform function *will* be called if even if there are no log outputs.
type log := tval append : log -> (Message_event.t -> Message_event.t) -> unitAdds a transform to the end of the list of transforms applied to messages sent through the log.
If the function raises, the exception will be raised immediately to the monitor that the [%log.t] statement is in, and the message will not be logged.
append t f; prepend t g will cause a message to first have g applied to it, then f.
val prepend : log -> (Message_event.t -> Message_event.t) -> unitAdds a transform to the start of the list of transforms applied to messages sent through the log.
If the function raises, the exception will be raised immediately to the monitor that the [%log.t] statement is in, and the message will not be logged.
append t f; prepend t g will cause a message to first have g applied to it, then f.
val append' : log -> (Message_event.t -> Message_event.t option) -> tLike append except that a t is returned which one can call remove_exn with. The function passed here may also return None to prevent messages from making it to outputs or later transforms.
val prepend' : log -> (Message_event.t -> Message_event.t option) -> tLike prepend except that a t is returned which one can call remove_exn with. The function passed here may also return None to prevent messages from making it to outputs or later transforms.