Struct gelf::Logger

source ·
pub struct Logger { /* private fields */ }
Expand description

Logger for sending log-messages

A Logger instance can be either used as a standalone object to log directly to a log-server or it can be installed as a log-crate log-handler (with Logger::install).

By default all encountered errors will be silently ignored. If you want the logger to panic when an error occurs, you can change the behaviour with Logger::enable_panic_on_error.

Implementations

Construct a new Logger instance

The backend needs to be boxed for usage as a logger with the log-crate. This constructor tries to determine the local hostname (required by GELF) with the help of the hostname-crate. If you want to set a custom hostname check out the Logger::new_with_hostname constructor.

Construct a new Logger instance with predetermined hostname

The backend needs to be boxed for usage as a logger with the log-crate. It uses the passed hostname for the GELF host field

Install a logger instance as a log-Logger

This method wraps log::set_logger as a convenience function as required by the log-crate. log_level defines the maximum log-level the logger should log.

Note that installing the logger consumes it. To uninstall you need to call log::shutdown_logger which returns the boxed, original Logger instance.

Log a message via the logger’s transport to a GELF server.

The logger will automatically add default_metadata fields to the message if missing in the passed Message.

Return the hostname used for GELF’s host-field

Set the hostname used for GELF’s host-field

Return all default metadata

Set a default metadata field

Every logged Message is checked for every default_metadata field. If it contains an entry with the key, the default is ignored. But if there is no additional information present, the default is added to the message.

This can be used for example to add a facility to every message:

logger.set_default_metadata(String::from("facility"), String::from("my_awesome_rust_service"));

logger.log_message(Message::new(String::from("This is important information")));
// -> The message will contain an additional field "_facility" with the value "my_awesome_rust_service"

Return a flag whether the logger panics when it encounters an error

Force the logger to panic when it encounters an error

Force the logger to ignore an encountered error silently

Trait Implementations

Determines if a log message with the specified metadata would be logged.

See docs for more details

Logs the LogRecord. See docs for more details

Flushes any buffered records.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.