Pass Record by value to Logger
authorhenghonglee <henghong.lee@gmail.com>
Tue, 8 Aug 2023 04:01:11 +0000 (12:01 +0800)
committerJeffrey Czyz <jkczyz@gmail.com>
Fri, 1 Dec 2023 17:30:19 +0000 (11:30 -0600)
Instead of passing a reference to a Record, pass the Logger an owned
Record so that it can be decorated with semantic context.

fuzz/src/full_stack.rs
fuzz/src/onion_message.rs
fuzz/src/utils/test_logger.rs
lightning-net-tokio/src/lib.rs
lightning-rapid-gossip-sync/src/lib.rs
lightning/src/onion_message/messenger.rs
lightning/src/routing/router.rs
lightning/src/routing/scoring.rs
lightning/src/util/logger.rs
lightning/src/util/macro_logger.rs
lightning/src/util/test_utils.rs

index 57c78e76d6bcd675f41cb437613981129dc6469c..725f83af9842caf79e013cf0b1d6edb1bb985d72 100644 (file)
@@ -728,7 +728,7 @@ mod tests {
                pub lines: Mutex<HashMap<(String, String), usize>>,
        }
        impl Logger for TrackingLogger {
-               fn log(&self, record: &Record) {
+               fn log(&self, record: Record) {
                        *self.lines.lock().unwrap().entry((record.module_path.to_string(), format!("{}", record.args))).or_insert(0) += 1;
                        println!("{:<5} [{} : {}, {}] {}", record.level.to_string(), record.module_path, record.file, record.line, record.args);
                }
index 13de5005cf8be1e2fee35f9fc501366bd4e46434..54d15324f3b4e55878a8bf37b89d5777d6cb6f55 100644 (file)
@@ -218,7 +218,7 @@ mod tests {
                pub lines: Mutex<HashMap<(String, String), usize>>,
        }
        impl Logger for TrackingLogger {
-               fn log(&self, record: &Record) {
+               fn log(&self, record: Record) {
                        *self.lines.lock().unwrap().entry((record.module_path.to_string(), format!("{}", record.args))).or_insert(0) += 1;
                        println!("{:<5} [{} : {}, {}] {}", record.level.to_string(), record.module_path, record.file, record.line, record.args);
                }
index f8c96f99bd1c8ddb9c1f9b28d8d7b5fbe67cc27b..5e5817e23f1f92d18f5d83406db2cff23319491d 100644 (file)
@@ -56,7 +56,7 @@ impl<'a, Out: Output> Write for LockedWriteAdapter<'a, Out> {
 }
 
 impl<Out: Output> Logger for TestLogger<Out> {
-       fn log(&self, record: &Record) {
+       fn log(&self, record: Record) {
                write!(LockedWriteAdapter(&self.out),
                        "{:<5} {} [{} : {}] {}\n", record.level.to_string(), self.id, record.module_path, record.line, record.args)
                        .unwrap();
index d4f75dd6cd8b073d0e29de1ecf76685b8122ab6e..d02f23fdd2cfd8649e9238cdda5a8fba470ace5c 100644 (file)
@@ -571,7 +571,7 @@ mod tests {
 
        pub struct TestLogger();
        impl lightning::util::logger::Logger for TestLogger {
-               fn log(&self, record: &lightning::util::logger::Record) {
+               fn log(&self, record: lightning::util::logger::Record) {
                        println!("{:<5} [{} : {}, {}] {}", record.level.to_string(), record.module_path, record.file, record.line, record.args);
                }
        }
index 5a61be7990e2a17270b7c61deeb8944952255735..c15eedabbe19b3a8f70d6a15d64c1d2ca705ae6c 100644 (file)
@@ -49,7 +49,7 @@
 //! # use lightning::util::logger::{Logger, Record};
 //! # struct FakeLogger {}
 //! # impl Logger for FakeLogger {
-//! #     fn log(&self, record: &Record) { }
+//! #     fn log(&self, record: Record) { }
 //! # }
 //! # let logger = FakeLogger {};
 //!
index 0e68d09143c00d251c69ee251162960b05ec3bed..0e88b1932df826ea922c7f5f215b1c76fce1aa77 100644 (file)
@@ -71,7 +71,7 @@ use crate::prelude::*;
 /// # use std::sync::Arc;
 /// # struct FakeLogger;
 /// # impl Logger for FakeLogger {
-/// #     fn log(&self, record: &Record) { unimplemented!() }
+/// #     fn log(&self, record: Record) { unimplemented!() }
 /// # }
 /// # struct FakeMessageRouter {}
 /// # impl MessageRouter for FakeMessageRouter {
index a2d9f51a38e6a4edc2a8e64c35798c5184e1c5ca..2d8dd0d67e97a553ac547e232d31cedadd1c507d 100644 (file)
@@ -8116,7 +8116,7 @@ pub mod benches {
 
        struct DummyLogger {}
        impl Logger for DummyLogger {
-               fn log(&self, _record: &Record) {}
+               fn log(&self, _record: Record) {}
        }
 
        pub fn generate_routes_with_zero_penalty_scorer(bench: &mut Criterion) {
index 9c907c3f7fe4bd38d7526b9d10871769ea537d27..de40b295e49ea88b67979b22f60900c0d57ce676 100644 (file)
@@ -26,7 +26,7 @@
 //! #
 //! # struct FakeLogger {};
 //! # impl Logger for FakeLogger {
-//! #     fn log(&self, record: &Record) { unimplemented!() }
+//! #     fn log(&self, record: Record) { unimplemented!() }
 //! # }
 //! # fn find_scored_route(payer: PublicKey, route_params: RouteParameters, network_graph: NetworkGraph<&FakeLogger>) {
 //! # let logger = FakeLogger {};
index dbca9b785e85dfbaf3c68253e7e47b91225c6bdc..4534c9dd8cfc10d062b0fba15b32f4cad1537bda 100644 (file)
@@ -135,10 +135,10 @@ impl<'a> Record<'a> {
        }
 }
 
-/// A trait encapsulating the operations required of a logger
+/// A trait encapsulating the operations required of a logger.
 pub trait Logger {
-       /// Logs the `Record`
-       fn log(&self, record: &Record);
+       /// Logs the [`Record`].
+       fn log(&self, record: Record);
 }
 
 /// Wrapper for logging a [`PublicKey`] in hex format.
index 4836b4d6814f705cb111515a983733c4566e3a34..f1d4fe54087ef49a0e6f0edfbea23c28fbf62ee6 100644 (file)
@@ -159,7 +159,7 @@ macro_rules! log_spendable {
 #[macro_export]
 macro_rules! log_internal {
        ($logger: expr, $lvl:expr, $($arg:tt)+) => (
-               $logger.log(&$crate::util::logger::Record::new($lvl, format_args!($($arg)+), module_path!(), file!(), line!()))
+               $logger.log($crate::util::logger::Record::new($lvl, format_args!($($arg)+), module_path!(), file!(), line!()))
        );
 }
 
index e5c63502354fba581c02691c6f4e92cd8ab5fff9..2c34bc92c7e2eb5b38901cb7df06de73e0435d46 100644 (file)
@@ -979,7 +979,7 @@ impl TestLogger {
 }
 
 impl Logger for TestLogger {
-       fn log(&self, record: &Record) {
+       fn log(&self, record: Record) {
                *self.lines.lock().unwrap().entry((record.module_path.to_string(), format!("{}", record.args))).or_insert(0) += 1;
                if record.level >= self.level {
                        #[cfg(all(not(ldk_bench), feature = "std"))] {