various Log levels to log *
Asynchronous logger instance.
Asynchronous logger instance.
Resulting F
completes immediately once all logging event components are captured and enqueued for processing.
Then, in single thread the events are processed to supplied logging provider.
This is useful if you do not want to block the main path of the program with any delay our logging (i.e. witting to file)
shall incur. Also note that any message
or detail
passed to log, is materialized after the log event is submitted, effectively
preventing program from possible expensive operation (i.e. converting details to string).
This logger incurs in total larger overhead than sync
variant, but gives much more predictable performance
penalty while logging.
The time is captured when the message is submitted to queue, to provide accurate timing. That means, however that in high concurrent scenarios messages may be output to provider out of time order, however with correct timestamp.
Synchronous logger instance.
Synchronous logger instance. Resulting F
after logging statement will not complete,
until log record is committed to underlying logging provider.
Neither the message nor details are materialized if the provider won't accept the message in supplied context and level.