make a layer filter to to prevent polling timeout errors from clogging logs
This commit is contained in:
parent
ed7c493b64
commit
d5b5d156b7
1 changed files with 20 additions and 2 deletions
|
|
@ -1,10 +1,26 @@
|
||||||
use std::io;
|
use std::io;
|
||||||
use tracing::level_filters::LevelFilter;
|
use tracing::{level_filters::LevelFilter, Subscriber};
|
||||||
use tracing_appender::rolling::{RollingFileAppender, Rotation};
|
use tracing_appender::rolling::{RollingFileAppender, Rotation};
|
||||||
use tracing_subscriber::{fmt, layer::SubscriberExt, prelude::*};
|
use tracing_subscriber::{fmt, layer::SubscriberExt, layer::Filter, prelude::*};
|
||||||
|
|
||||||
use super::util::VAR_LOG;
|
use super::util::VAR_LOG;
|
||||||
|
|
||||||
|
// A layer filter to prevent polling timeout errors from clogging logs
|
||||||
|
struct TeloxideNoiseFilter {}
|
||||||
|
impl<S: Subscriber> Filter<S> for TeloxideNoiseFilter {
|
||||||
|
fn enabled(&self, meta: &tracing::Metadata<'_>, _: &tracing_subscriber::layer::Context<'_,S>) -> bool {
|
||||||
|
if let Some(module_path) = meta.module_path() {
|
||||||
|
if module_path == "teloxide::error_handlers" {
|
||||||
|
false
|
||||||
|
} else {
|
||||||
|
true
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pub fn log_init() {
|
pub fn log_init() {
|
||||||
let log_appender = RollingFileAppender::builder()
|
let log_appender = RollingFileAppender::builder()
|
||||||
.rotation(Rotation::DAILY)
|
.rotation(Rotation::DAILY)
|
||||||
|
|
@ -15,10 +31,12 @@ pub fn log_init() {
|
||||||
|
|
||||||
let stderr_layer = fmt::layer()
|
let stderr_layer = fmt::layer()
|
||||||
.with_writer(io::stderr)
|
.with_writer(io::stderr)
|
||||||
|
.with_filter(TeloxideNoiseFilter {})
|
||||||
.with_filter(LevelFilter::ERROR);
|
.with_filter(LevelFilter::ERROR);
|
||||||
|
|
||||||
let file_layer = fmt::layer()
|
let file_layer = fmt::layer()
|
||||||
.with_writer(log_appender)
|
.with_writer(log_appender)
|
||||||
|
.with_filter(TeloxideNoiseFilter {})
|
||||||
.with_filter(LevelFilter::INFO);
|
.with_filter(LevelFilter::INFO);
|
||||||
|
|
||||||
tracing_subscriber::registry()
|
tracing_subscriber::registry()
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue