serializable_log_record
The log::Record struct is not serializable by default. This crate provides a serializable version of the log::Record struct. But most importantly, it
provides a macro into_log_record which can concert the serialized record back into a regular record. This is not as straightforward as it sounds since
the log::Record struct uses fmt::Arguments in one of its fields which is not serializable due to its extremely strict lifetime.
This crate is a central helper crate for the parallel_logger crate but can be used independently.
Usage
Add the dependency to your Cargo.toml:
[]
= "0.3"
How to use in your application:
let record: Record = ...get the record from a logger or build it manually...;
let serializable_record = from;
If you enable the serde feature, the SerializableLogRecord struct implements the Serialize and Deserialize traits.
In order to convert the SerializableLogRecord back into a log::Record you can use the into_log_record macro:
let serializable_record = from;
let mut builder = builder;
logger.log;
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)