mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-01 18:17:56 +00:00
Allow adding a prefix to the informant (#6174)
* Initial commit Forked at:1d93746b64Parent branch: origin/master * Add a Service Configuration's field + adapt informant + provide means to CLI * CLEANUP Forked at:1d93746b64Parent branch: origin/master * fix tests * fixed bad path to object * Change OutputFormat enum to struct * Add informant_prefix to builder and service * Revert "Change OutputFormat enum to struct" This reverts commit cd86c583c92668426c35cc174401155bf2880c1f. * Revert "fix tests" This reverts commit a3c306ebe94720f350c5bc74b9c5fcde2565d340. * Revert "Add a Service Configuration's field + adapt informant + provide means to CLI" This reverts commit 9c2e7267423305705916c30d605893524113c8e3. * Implementation using the ServiceBuilder * reduce line length * fix line width again * WIP Forked at:1d93746b64Parent branch: origin/master * WIP Forked at:1d93746b64Parent branch: origin/master * WIP Forked at:1d93746b64Parent branch: origin/master * use struct instead of enum * WIP Forked at:1d93746b64Parent branch: origin/master * Update client/service/src/lib.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * improve doc * Update client/service/src/builder.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * Update client/service/src/builder.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * change code * Update client/informant/src/lib.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * enable_color * reorg log * remove macro * Removed builder for informant prefix * fix doc * Update client/informant/src/lib.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * Update client/informant/src/lib.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * Update client/informant/src/lib.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * Update client/informant/src/lib.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * Update client/service/src/builder.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * Update client/service/src/builder.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * Update client/service/src/builder.rs Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
This commit is contained in:
@@ -101,6 +101,7 @@ pub struct ServiceBuilder<TBl, TRtApi, TCl, TFchr, TSc, TImpQu, TFprb, TFpp,
|
||||
remote_backend: Option<Arc<dyn RemoteBlockchain<TBl>>>,
|
||||
marker: PhantomData<(TBl, TRtApi)>,
|
||||
block_announce_validator_builder: Option<Box<dyn FnOnce(Arc<TCl>) -> Box<dyn BlockAnnounceValidator<TBl> + Send> + Send>>,
|
||||
informant_prefix: String,
|
||||
}
|
||||
|
||||
/// A utility trait for building an RPC extension given a `DenyUnsafe` instance.
|
||||
@@ -364,6 +365,7 @@ impl ServiceBuilder<(), (), (), (), (), (), (), (), (), (), ()> {
|
||||
rpc_extensions_builder: Box::new(|_| ()),
|
||||
remote_backend: None,
|
||||
block_announce_validator_builder: None,
|
||||
informant_prefix: Default::default(),
|
||||
marker: PhantomData,
|
||||
})
|
||||
}
|
||||
@@ -447,6 +449,7 @@ impl ServiceBuilder<(), (), (), (), (), (), (), (), (), (), ()> {
|
||||
rpc_extensions_builder: Box::new(|_| ()),
|
||||
remote_backend: Some(remote_blockchain),
|
||||
block_announce_validator_builder: None,
|
||||
informant_prefix: Default::default(),
|
||||
marker: PhantomData,
|
||||
})
|
||||
}
|
||||
@@ -541,6 +544,7 @@ impl<TBl, TRtApi, TCl, TFchr, TSc, TImpQu, TFprb, TFpp, TExPool, TRpc, Backend>
|
||||
rpc_extensions_builder: self.rpc_extensions_builder,
|
||||
remote_backend: self.remote_backend,
|
||||
block_announce_validator_builder: self.block_announce_validator_builder,
|
||||
informant_prefix: self.informant_prefix,
|
||||
marker: self.marker,
|
||||
})
|
||||
}
|
||||
@@ -586,6 +590,7 @@ impl<TBl, TRtApi, TCl, TFchr, TSc, TImpQu, TFprb, TFpp, TExPool, TRpc, Backend>
|
||||
rpc_extensions_builder: self.rpc_extensions_builder,
|
||||
remote_backend: self.remote_backend,
|
||||
block_announce_validator_builder: self.block_announce_validator_builder,
|
||||
informant_prefix: self.informant_prefix,
|
||||
marker: self.marker,
|
||||
})
|
||||
}
|
||||
@@ -624,6 +629,7 @@ impl<TBl, TRtApi, TCl, TFchr, TSc, TImpQu, TFprb, TFpp, TExPool, TRpc, Backend>
|
||||
rpc_extensions_builder: self.rpc_extensions_builder,
|
||||
remote_backend: self.remote_backend,
|
||||
block_announce_validator_builder: self.block_announce_validator_builder,
|
||||
informant_prefix: self.informant_prefix,
|
||||
marker: self.marker,
|
||||
})
|
||||
}
|
||||
@@ -690,6 +696,7 @@ impl<TBl, TRtApi, TCl, TFchr, TSc, TImpQu, TFprb, TFpp, TExPool, TRpc, Backend>
|
||||
rpc_extensions_builder: self.rpc_extensions_builder,
|
||||
remote_backend: self.remote_backend,
|
||||
block_announce_validator_builder: self.block_announce_validator_builder,
|
||||
informant_prefix: self.informant_prefix,
|
||||
marker: self.marker,
|
||||
})
|
||||
}
|
||||
@@ -746,6 +753,7 @@ impl<TBl, TRtApi, TCl, TFchr, TSc, TImpQu, TFprb, TFpp, TExPool, TRpc, Backend>
|
||||
rpc_extensions_builder: self.rpc_extensions_builder,
|
||||
remote_backend: self.remote_backend,
|
||||
block_announce_validator_builder: self.block_announce_validator_builder,
|
||||
informant_prefix: self.informant_prefix,
|
||||
marker: self.marker,
|
||||
})
|
||||
}
|
||||
@@ -783,6 +791,7 @@ impl<TBl, TRtApi, TCl, TFchr, TSc, TImpQu, TFprb, TFpp, TExPool, TRpc, Backend>
|
||||
rpc_extensions_builder: Box::new(rpc_extensions_builder),
|
||||
remote_backend: self.remote_backend,
|
||||
block_announce_validator_builder: self.block_announce_validator_builder,
|
||||
informant_prefix: self.informant_prefix,
|
||||
marker: self.marker,
|
||||
})
|
||||
}
|
||||
@@ -828,9 +837,43 @@ impl<TBl, TRtApi, TCl, TFchr, TSc, TImpQu, TFprb, TFpp, TExPool, TRpc, Backend>
|
||||
rpc_extensions_builder: self.rpc_extensions_builder,
|
||||
remote_backend: self.remote_backend,
|
||||
block_announce_validator_builder: Some(Box::new(block_announce_validator_builder)),
|
||||
informant_prefix: self.informant_prefix,
|
||||
marker: self.marker,
|
||||
})
|
||||
}
|
||||
|
||||
/// Defines the informant's prefix for the logs. An empty string by default.
|
||||
///
|
||||
/// By default substrate will show logs without a prefix. Example:
|
||||
///
|
||||
/// ```text
|
||||
/// 2020-05-28 15:11:06 ✨ Imported #2 (0xc21c…2ca8)
|
||||
/// 2020-05-28 15:11:07 💤 Idle (0 peers), best: #2 (0xc21c…2ca8), finalized #0 (0x7299…e6df), ⬇ 0 ⬆ 0
|
||||
/// ```
|
||||
///
|
||||
/// But you can define a prefix by using this function. Example:
|
||||
///
|
||||
/// ```rust,ignore
|
||||
/// service.with_informant_prefix("[Prefix] ".to_string());
|
||||
/// ```
|
||||
///
|
||||
/// This will output:
|
||||
///
|
||||
/// ```text
|
||||
/// 2020-05-28 15:11:06 ✨ [Prefix] Imported #2 (0xc21c…2ca8)
|
||||
/// 2020-05-28 15:11:07 💤 [Prefix] Idle (0 peers), best: #2 (0xc21c…2ca8), finalized #0 (0x7299…e6df), ⬇ 0 ⬆ 0
|
||||
/// ```
|
||||
pub fn with_informant_prefix(
|
||||
self,
|
||||
informant_prefix: String,
|
||||
) -> Result<ServiceBuilder<TBl, TRtApi, TCl, TFchr, TSc, TImpQu, TFprb, TFpp,
|
||||
TExPool, TRpc, Backend>, Error>
|
||||
where TSc: Clone, TFchr: Clone {
|
||||
Ok(ServiceBuilder {
|
||||
informant_prefix: informant_prefix,
|
||||
..self
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
/// Implemented on `ServiceBuilder`. Allows running block commands, such as import/export/validate
|
||||
@@ -947,6 +990,7 @@ ServiceBuilder<
|
||||
rpc_extensions_builder,
|
||||
remote_backend,
|
||||
block_announce_validator_builder,
|
||||
informant_prefix,
|
||||
} = self;
|
||||
|
||||
sp_session::generate_initial_session_keys(
|
||||
@@ -1342,6 +1386,20 @@ ServiceBuilder<
|
||||
}
|
||||
}
|
||||
|
||||
// Spawn informant task
|
||||
let network_status_sinks_1 = network_status_sinks.clone();
|
||||
let informant_future = sc_informant::build(
|
||||
client.clone(),
|
||||
move |interval| {
|
||||
let (sink, stream) = tracing_unbounded("mpsc_network_status");
|
||||
network_status_sinks_1.lock().push(interval, sink);
|
||||
stream
|
||||
},
|
||||
transaction_pool.clone(),
|
||||
sc_informant::OutputFormat { enable_color: true, prefix: informant_prefix },
|
||||
);
|
||||
spawn_handle.spawn("informant", informant_future);
|
||||
|
||||
Ok(Service {
|
||||
client,
|
||||
task_manager,
|
||||
|
||||
Reference in New Issue
Block a user