Skip to content

Commit cde31fb

Browse files
committed
remove derive_more
1 parent ddece0a commit cde31fb

File tree

9 files changed

+50
-26
lines changed

9 files changed

+50
-26
lines changed

Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,6 @@ parking_lot = { version = "0.12.0", optional = true }
9393
rand = { version = "0.9", optional = true }
9494
thiserror = "2.0.12"
9595
anyhow = "1.0.28"
96-
derive_more = { version = "2.0.1", features = ["debug"] }
9796
mock_instant = "0.6"
9897
unicode-segmentation = "1.10.0"
9998

examples/custom.rs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
//! - Print messages at the trace and debug levels to the console.
77
//! - Write messages at the warning and error levels to a file.
88
9-
use derive_more::Debug;
9+
use core::fmt;
1010
use std::{
1111
fs::{File, OpenOptions},
1212
io::{BufWriter, Write},
@@ -78,14 +78,21 @@ impl Encode for MyEncoder {
7878
}
7979

8080
/// A custom appender that writes to both console and file based on log level.
81-
#[derive(Debug)]
8281
struct MyAppender {
83-
#[debug(skip)]
8482
console_writer: ConsoleWriter,
8583
file_writer: Mutex<SimpleWriter<BufWriter<File>>>,
8684
encoder: Box<dyn Encode>,
8785
}
8886

87+
impl fmt::Debug for MyAppender {
88+
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
89+
f.debug_struct("MyAppender")
90+
.field("file_writer", &self.file_writer)
91+
.field("encoder", &self.encoder)
92+
.finish_non_exhaustive()
93+
}
94+
}
95+
8996
impl MyAppender {
9097
fn new(file_name: &str, encoder: Box<dyn Encode>) -> Self {
9198
let console_writer = ConsoleWriter::stderr().unwrap();

examples/custom_config.rs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
//! In this example, we will define the Appender, Encoder and Filter using the same code as in custom.rs.
22
//! However, unlike before, our logger will be initialized from a configuration file.
33
4-
use derive_more::Debug;
54
use std::{
6-
fs::{File, OpenOptions},
7-
io::{BufWriter, Write},
8-
sync::Mutex,
5+
fmt, fs::{File, OpenOptions}, io::{BufWriter, Write}, sync::Mutex
96
};
107

118
use log4rs::{
@@ -73,14 +70,21 @@ impl Encode for MyEncoder {
7370
}
7471

7572
/// A custom appender that writes to both console and file based on log level.
76-
#[derive(Debug)]
7773
struct MyAppender {
78-
#[debug(skip)]
7974
console_writer: ConsoleWriter,
8075
file_writer: Mutex<SimpleWriter<BufWriter<File>>>,
8176
encoder: Box<dyn Encode>,
8277
}
8378

79+
impl fmt::Debug for MyAppender {
80+
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
81+
f.debug_struct("MyAppender")
82+
.field("file_writer", &self.file_writer)
83+
.field("encoder", &self.encoder)
84+
.finish_non_exhaustive()
85+
}
86+
}
87+
8488
impl MyAppender {
8589
fn new(file_name: &str, encoder: Box<dyn Encode>) -> Self {
8690
let console_writer = ConsoleWriter::stderr().unwrap();

src/append/console.rs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
//!
33
//! Requires the `console_appender` feature.
44
5-
use derive_more::Debug;
65
use log::Record;
76
use std::{
87
fmt,
@@ -29,7 +28,7 @@ use crate::{
2928

3029
/// The console appender's configuration.
3130
#[cfg(feature = "config_parsing")]
32-
#[derive(Debug, serde::Deserialize)]
31+
#[derive(serde::Deserialize)]
3332
#[serde(deny_unknown_fields)]
3433
pub struct ConsoleAppenderConfig {
3534
target: Option<ConfigTarget>,
@@ -50,6 +49,14 @@ enum Writer {
5049
Tty(ConsoleWriter),
5150
Raw(StdWriter),
5251
}
52+
impl fmt::Debug for Writer {
53+
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
54+
match self {
55+
Writer::Tty(_) => write!(f, "Tty"),
56+
Writer::Raw(_) => write!(f, "Raw"),
57+
}
58+
}
59+
}
5360

5461
impl Writer {
5562
fn lock(&self) -> WriterLock<'_> {
@@ -119,7 +126,6 @@ impl<'a> encode::Write for WriterLock<'a> {
119126
/// or is a TTY on Unix.
120127
#[derive(Debug)]
121128
pub struct ConsoleAppender {
122-
#[debug(skip)]
123129
writer: Writer,
124130
encoder: Box<dyn Encode>,
125131
do_write: bool,

src/append/file.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
//! Requires the `file_appender` feature.
44
55
use chrono::prelude::Local;
6-
use derive_more::Debug;
76
use log::Record;
87
use parking_lot::Mutex;
98
use std::{
@@ -43,7 +42,6 @@ pub struct FileAppenderConfig {
4342
pub struct FileAppender {
4443
#[allow(dead_code)] // reason = "debug purposes only"
4544
path: PathBuf,
46-
#[debug(skip)]
4745
file: Mutex<SimpleWriter<BufWriter<File>>>,
4846
encoder: Box<dyn Encode>,
4947
}

src/append/rolling_file/mod.rs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616
//!
1717
//! Requires the `rolling_file_appender` feature.
1818
19-
use derive_more::Debug;
2019
use log::Record;
2120
use parking_lot::Mutex;
21+
use core::fmt;
2222
use std::{
2323
fs::{self, File, OpenOptions},
2424
io::{self, BufWriter, Write},
@@ -150,16 +150,25 @@ impl<'a> LogFile<'a> {
150150
}
151151

152152
/// An appender which archives log files in a configurable strategy.
153-
#[derive(Debug)]
154153
pub struct RollingFileAppender {
155-
#[debug(skip)]
156154
writer: Mutex<Option<LogWriter>>,
157155
path: PathBuf,
158156
append: bool,
159157
encoder: Box<dyn Encode>,
160158
policy: Box<dyn policy::Policy>,
161159
}
162160

161+
impl fmt::Debug for RollingFileAppender {
162+
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
163+
f.debug_struct("RollingFileAppender")
164+
.field("path", &self.path)
165+
.field("append", &self.append)
166+
.field("encoder", &self.encoder)
167+
.field("policy", &self.policy)
168+
.finish()
169+
}
170+
}
171+
163172
impl Append for RollingFileAppender {
164173
fn append(&self, record: &Record<'_>) -> anyhow::Result<()> {
165174
// TODO(eas): Perhaps this is better as a concurrent queue?
@@ -365,7 +374,6 @@ impl Deserialize for RollingFileAppenderDeserializer {
365374

366375
#[cfg(test)]
367376
mod test {
368-
use derive_more::Debug;
369377
use std::{
370378
fs::File,
371379
io::{Read, Write},

src/config/raw.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,6 @@
9292
use std::{collections::HashMap, fmt, marker::PhantomData, sync::Arc, time::Duration};
9393

9494
use anyhow::anyhow;
95-
use derive_more::Debug;
9695
use log::LevelFilter;
9796
use serde::de::{self, Deserialize as SerdeDeserialize, DeserializeOwned};
9897
use serde_value::Value;

src/encode/mod.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
//! Encoders
22
3-
use derive_more::Debug;
43
use log::Record;
54
use std::{fmt, io};
65

@@ -102,7 +101,6 @@ pub struct Style {
102101
pub background: Option<Color>,
103102
/// True if the text should have increased intensity.
104103
pub intense: Option<bool>,
105-
#[debug(skip)]
106104
_p: (),
107105
}
108106

src/encode/pattern/mod.rs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,9 +140,8 @@
140140
//! [log_kv]: https://docs.rs/log/latest/log/kv/index.html
141141
142142
use chrono::{Local, Utc};
143-
use derive_more::Debug;
144143
use log::{Level, Record};
145-
use std::{default::Default, io, mem, process, thread};
144+
use std::{default::Default, fmt, io, mem, process, thread};
146145
use unicode_segmentation::{GraphemeCursor, UnicodeSegmentation};
147146

148147
use crate::encode::{
@@ -703,12 +702,18 @@ impl FormattedChunk {
703702
}
704703

705704
/// An `Encode`r configured via a format string.
706-
#[derive(Clone, Eq, Debug, PartialEq, Hash)]
705+
#[derive(Clone, Eq, PartialEq, Hash)]
707706
pub struct PatternEncoder {
708-
#[debug(skip)]
709707
chunks: Vec<Chunk>,
710708
pattern: String,
711709
}
710+
impl fmt::Debug for PatternEncoder {
711+
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
712+
f.debug_struct("PatternEncoder")
713+
.field("pattern", &self.pattern)
714+
.finish_non_exhaustive()
715+
}
716+
}
712717

713718
/// Returns a `PatternEncoder` using the default pattern of `{d} {l} {t} - {m}{n}`.
714719
impl Default for PatternEncoder {

0 commit comments

Comments
 (0)