Expand description
Provides the log::Log
implementation that allows to publish log
events to
Fuchsia Logging System.
This library isn’t Fuchsia-specific and provides a general log::Log
that allows
the library to also be used in the host.
Macros§
- log_
every_ n_ seconds - Logs every N seconds using an Atomic variable to keep track of the time. This will have a higher performance impact on ARM compared to regular logging due to the use of an atomic.
- paste
Structs§
- Buffered
Publisher - A buffered publisher will buffer log messages until the IOBuffer is received. If this is registered as the global logger, then messages will be logged at the default level until an updated level is received from Archivist.
- Publish
Options - Options to configure publishing. This is for initialization of logs, it’s a superset of
PublisherOptions
. - Publisher
- A
Publisher
acts as broker, implementinglog::Log
to receive log events from a component, and then forwarding that data on to a diagnostics service. - Publisher
Options - Options to configure a
Publisher
. - Test
Record - Arguments to create a record for testing purposes.
Enums§
- Metatag
- Tag derived from metadata.
- Publish
Error - Errors arising while forwarding a diagnostics stream to the environment.
- Severity
- Severities a log message can have, often called the log’s “level”.
Traits§
- OnInterest
Changed - Callback for interest listeners
- Severity
Ext - A type which has a
Severity
.
Functions§
- initialize
- Initializes logging with the given options.
- initialize_
buffered - Initializes logging, but buffers logs until the connection is established. This is required for things like Component Manager, which would otherwise deadlock when starting. This carries some overhead, so should be avoided unless required.
- initialize_
sync - Initializes logging with the given options.
- set_
minimum_ severity - Sets the global minimum log severity.
IMPORTANT: this function can panic if
initialize
wasn’t called before.