redis_logger
This log::Log
implementation allows to log to a Redis server. It supports writing to any number of pub/sub channels or streams or both.
You can specify custom encoders for pub/sub and stream log messages. Using the default_encoders
feature default implementations for the encoders are available. This feature is disabled by default.
If you enable the shared_logger
feature you can use the RedisLogger
inside a simplelog::CombinedLogger
.
Usage
Add the dependency to your Cargo.toml
:
[]
= "0.4"
= "0.24"
= "0.3"
How to use in your application:
Build a RedisLoggerConfig
using the RedisLoggerConfigBuilder
methods. Specify a connection and at least one pub/sub or stream channel. Use this configuration to either instantiate a RedisLogger
instance with RedisLogger::new
if you wish to use this logger with other loggers (like the parallel_logger crate or CombinedLogger logger from the simplelog
crate) or use the RedisLogger::init
method to initialize the logger as the only logger for the application.
A simple example using the default_encoders
feature and setting the RedisLogger
as the only logger would look like this:
This broader example uses RedisLogger
inside a ParallelLogger
and encodes messages for pub/sub using the bincode
crate and a custom PubSubEncoder
:
;
Roadmap
- Support other Redis crates than
redis_rs
(likefred
). - Support atomic pipelines when calling Redis.
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)