@@ -11,6 +11,7 @@ use crate::{
1111use async_trait:: async_trait;
1212use futures:: { prelude:: * , stream:: BoxStream } ;
1313use grpcio:: { EnvBuilder , Environment } ;
14+ use slog:: { Drain , Logger } ;
1415use std:: {
1516 collections:: HashMap ,
1617 sync:: { Arc , RwLock } ,
@@ -207,6 +208,7 @@ pub struct PdRpcClient<KvC: KvConnect + Send + Sync + 'static = TikvConnect, Cl
207208 kv_connect : KvC ,
208209 kv_client_cache : Arc < RwLock < HashMap < String , KvC :: KvClient > > > ,
209210 enable_codec : bool ,
211+ logger : Logger ,
210212}
211213
212214#[ async_trait]
@@ -284,6 +286,9 @@ impl<KvC: KvConnect + Send + Sync + 'static, Cl> PdRpcClient<KvC, Cl> {
284286 MakeKvC : FnOnce ( Arc < Environment > , Arc < SecurityManager > ) -> KvC ,
285287 MakePd : FnOnce ( Arc < Environment > , Arc < SecurityManager > ) -> PdFut ,
286288 {
289+ let plain = slog_term:: PlainSyncDecorator :: new ( std:: io:: stdout ( ) ) ;
290+ let logger = Logger :: root ( slog_term:: FullFormat :: new ( plain) . build ( ) . fuse ( ) , o ! ( ) ) ;
291+ info ! ( logger, "Logging ready!" ) ;
287292 let env = Arc :: new (
288293 EnvBuilder :: new ( )
289294 . cq_count ( CQ_COUNT )
@@ -307,14 +312,15 @@ impl<KvC: KvConnect + Send + Sync + 'static, Cl> PdRpcClient<KvC, Cl> {
307312 kv_client_cache,
308313 kv_connect : kv_connect ( env, security_mgr) ,
309314 enable_codec,
315+ logger,
310316 } )
311317 }
312318
313319 fn kv_client ( & self , address : & str ) -> Result < KvC :: KvClient > {
314320 if let Some ( client) = self . kv_client_cache . read ( ) . unwrap ( ) . get ( address) {
315321 return Ok ( client. clone ( ) ) ;
316322 } ;
317- info ! ( "connect to tikv endpoint: {:?}" , address) ;
323+ info ! ( self . logger , "connect to tikv endpoint: {:?}" , address) ;
318324 self . kv_connect . connect ( address) . map ( |client| {
319325 self . kv_client_cache
320326 . write ( )
0 commit comments