@@ -11,6 +11,7 @@ use crate::{
11
11
use async_trait:: async_trait;
12
12
use futures:: { prelude:: * , stream:: BoxStream } ;
13
13
use grpcio:: { EnvBuilder , Environment } ;
14
+ use slog:: { Drain , Logger } ;
14
15
use std:: {
15
16
collections:: HashMap ,
16
17
sync:: { Arc , RwLock } ,
@@ -207,6 +208,7 @@ pub struct PdRpcClient<KvC: KvConnect + Send + Sync + 'static = TikvConnect, Cl
207
208
kv_connect : KvC ,
208
209
kv_client_cache : Arc < RwLock < HashMap < String , KvC :: KvClient > > > ,
209
210
enable_codec : bool ,
211
+ logger : Logger ,
210
212
}
211
213
212
214
#[ async_trait]
@@ -284,6 +286,9 @@ impl<KvC: KvConnect + Send + Sync + 'static, Cl> PdRpcClient<KvC, Cl> {
284
286
MakeKvC : FnOnce ( Arc < Environment > , Arc < SecurityManager > ) -> KvC ,
285
287
MakePd : FnOnce ( Arc < Environment > , Arc < SecurityManager > ) -> PdFut ,
286
288
{
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!" ) ;
287
292
let env = Arc :: new (
288
293
EnvBuilder :: new ( )
289
294
. cq_count ( CQ_COUNT )
@@ -307,14 +312,15 @@ impl<KvC: KvConnect + Send + Sync + 'static, Cl> PdRpcClient<KvC, Cl> {
307
312
kv_client_cache,
308
313
kv_connect : kv_connect ( env, security_mgr) ,
309
314
enable_codec,
315
+ logger,
310
316
} )
311
317
}
312
318
313
319
fn kv_client ( & self , address : & str ) -> Result < KvC :: KvClient > {
314
320
if let Some ( client) = self . kv_client_cache . read ( ) . unwrap ( ) . get ( address) {
315
321
return Ok ( client. clone ( ) ) ;
316
322
} ;
317
- info ! ( "connect to tikv endpoint: {:?}" , address) ;
323
+ info ! ( self . logger , "connect to tikv endpoint: {:?}" , address) ;
318
324
self . kv_connect . connect ( address) . map ( |client| {
319
325
self . kv_client_cache
320
326
. write ( )
0 commit comments