77from typing import Final
88
99import databento_dbn
10- from databento_dbn import DBNError
1110from databento_dbn import Metadata
1211from databento_dbn import Schema
1312from databento_dbn import SType
14- from databento_dbn import SystemCode
1513from databento_dbn import VersionUpgradePolicy
1614
1715from databento .common import cram
@@ -313,13 +311,14 @@ def subscribe(
313311 list[SubscriptionRequest]
314312
315313 """
316- logger .info (
317- "sending subscription to %s: %s %s start=%s snapshot=%s" ,
314+ logger .debug (
315+ "sending subscription request schema=%s stype_in= %s symbols='%s' start='%s' snapshot=%s id =%s" ,
318316 schema ,
319317 stype_in ,
320318 symbols ,
321319 start if start is not None else "now" ,
322320 snapshot ,
321+ subscription_id ,
323322 )
324323
325324 stype_in_valid = validate_enum (stype_in , SType , "stype_in" )
@@ -341,6 +340,12 @@ def subscribe(
341340 )
342341 subscriptions .append (message )
343342
343+ if len (subscriptions ) > 1 :
344+ logger .debug (
345+ "batched subscription into %d requests id=%s" ,
346+ len (subscriptions ),
347+ subscription_id ,
348+ )
344349 self .transport .writelines (map (bytes , subscriptions ))
345350 return subscriptions
346351
@@ -374,27 +379,20 @@ def _process_dbn(self, data: bytes) -> None:
374379 continue
375380 if isinstance (record , databento_dbn .ErrorMsg ):
376381 logger .error (
377- "gateway error: %s" ,
382+ "gateway error code=%s err='%s'" ,
383+ record .code ,
378384 record .err ,
379385 )
380386 self ._error_msgs .append (record .err )
381387 elif isinstance (record , databento_dbn .SystemMsg ):
382388 if record .is_heartbeat ():
383389 logger .debug ("gateway heartbeat" )
384390 else :
385- try :
386- msg_code = record .code
387- except DBNError :
388- msg_code = None
389- if msg_code == SystemCode .SLOW_READER_WARNING :
390- logger .warning (
391- record .msg ,
392- )
393- else :
394- logger .debug (
395- "gateway message: %s" ,
396- record .msg ,
397- )
391+ logger .info (
392+ "system message code=%s msg='%s'" ,
393+ record .code ,
394+ record .msg ,
395+ )
398396 self .received_record (record )
399397
400398 def _process_gateway (self , data : bytes ) -> None :
@@ -423,34 +421,44 @@ def _handle_gateway_message(self, message: GatewayControl) -> None:
423421
424422 @_handle_gateway_message .register (Greeting )
425423 def _ (self , message : Greeting ) -> None :
426- logger .debug ("greeting received by remote gateway v%s" , message .lsg_version )
424+ logger .debug (
425+ "greeting received by remote gateway version='%s'" ,
426+ message .lsg_version ,
427+ )
427428
428429 @_handle_gateway_message .register (ChallengeRequest )
429430 def _ (self , message : ChallengeRequest ) -> None :
430- logger .debug ("received CRAM challenge: %s " , message .cram )
431+ logger .debug ("received CRAM challenge cram='%s' " , message .cram )
431432 response = cram .get_challenge_response (message .cram , self .__api_key )
432433 auth_request = AuthenticationRequest (
433434 auth = response ,
434435 dataset = self ._dataset ,
435436 ts_out = str (int (self ._ts_out )),
436437 heartbeat_interval_s = self ._heartbeat_interval_s ,
437438 )
438- logger .debug ("sending CRAM challenge response: %s" , str (auth_request ).strip ())
439+ logger .debug (
440+ "sending CRAM challenge response auth='%s' dataset=%s encoding=%s ts_out=%s heartbeat_interval_s=%s client='%s'" ,
441+ auth_request .auth ,
442+ auth_request .dataset ,
443+ auth_request .encoding ,
444+ auth_request .ts_out ,
445+ auth_request .heartbeat_interval_s ,
446+ auth_request .client ,
447+ )
439448 self .transport .write (bytes (auth_request ))
440449
441450 @_handle_gateway_message .register (AuthenticationResponse )
442451 def _ (self , message : AuthenticationResponse ) -> None :
443452 if message .success == "0" :
444- logger .error ("CRAM authentication failed : %s" , message .error )
453+ logger .error ("CRAM authentication error : %s" , message .error )
445454 self .authenticated .set_exception (
446- BentoError (f"User authentication failed: { message .error } " ),
455+ BentoError (message .error ),
447456 )
448457 self .transport .close ()
449458 else :
450459 session_id = message .session_id
451460
452461 logger .debug (
453- "CRAM authenticated session id assigned `%s`" ,
454- session_id ,
462+ "CRAM authentication successful" ,
455463 )
456464 self .authenticated .set_result (session_id )
0 commit comments