2525import org .dflib .jjava .jupyter .messages .publish .PublishStatus ;
2626import org .dflib .jjava .jupyter .messages .reply .ErrorReply ;
2727import org .dflib .jjava .jupyter .messages .request .HistoryRequest ;
28+ import org .slf4j .Logger ;
2829import org .zeromq .SocketType ;
2930import org .zeromq .ZMQ ;
3031
3536import java .util .Iterator ;
3637import java .util .List ;
3738import java .util .Map ;
38- import java .util .logging .Logger ;
3939
4040public abstract class JupyterSocket extends ZMQ .Socket {
41+
4142 protected static String formatAddress (String transport , String ip , int port ) {
4243 return transport + "://" + ip + ":" + port ;
4344 }
4445
45- private static final byte [] IDENTITY_BLOB_DELIMITER = "<IDS|MSG>" .getBytes (StandardCharsets .US_ASCII ); // Comes from a python bytestring
46+ // Comes from a Python bytestring
47+ private static final byte [] IDENTITY_BLOB_DELIMITER = "<IDS|MSG>" .getBytes (StandardCharsets .US_ASCII );
48+
4649 private static final Gson replyGson = new GsonBuilder ()
4750 .registerTypeAdapter (HistoryEntry .class , HistoryEntryAdapter .INSTANCE )
4851 .registerTypeAdapter (ExpressionValue .class , ExpressionValueAdapter .INSTANCE )
4952 .create ();
53+
5054 private static final Gson gson = new GsonBuilder ()
5155 .registerTypeAdapter (KernelTimestamp .class , KernelTimestampAdapter .INSTANCE )
5256 .registerTypeAdapter (Header .class , HeaderAdapter .INSTANCE )
5357 .registerTypeAdapter (MessageType .class , MessageTypeAdapter .INSTANCE )
5458 .registerTypeAdapter (PublishStatus .class , PublishStatusAdapter .INSTANCE )
5559 .registerTypeAdapter (HistoryRequest .class , HistoryRequestAdapter .INSTANCE )
5660 .registerTypeHierarchyAdapter (ReplyType .class , new ReplyTypeAdapter (replyGson ))
57- //.setPrettyPrinting()
5861 .create ();
5962 private static final byte [] EMPTY_JSON_OBJECT = "{}" .getBytes (StandardCharsets .UTF_8 );
6063 private static final Type JSON_OBJ_AS_MAP = new TypeToken <Map <String , Object >>() {
6164 }.getType ();
6265
63- public static final Logger JUPYTER_LOGGER = Logger .getLogger ("Jupyter" );
64-
6566 protected final ZMQ .Context ctx ;
6667 protected final HMACGenerator hmacGenerator ;
6768 protected final Logger logger ;
@@ -71,7 +72,6 @@ protected JupyterSocket(ZMQ.Context context, SocketType type, HMACGenerator hmac
7172 super (context , type );
7273 this .ctx = context ;
7374 this .hmacGenerator = hmacGenerator ;
74- logger .setParent (JUPYTER_LOGGER );
7575 this .logger = logger ;
7676 this .closed = false ;
7777 }
@@ -129,7 +129,10 @@ public synchronized Message<?> readMessage() {
129129 }
130130
131131 Message <?> message = new Message (identities , header , parentHeader , metadata , content , blobs );
132- logger .finer (() -> "Received from " + super .base ().getSocketOptx (zmq .ZMQ .ZMQ_LAST_ENDPOINT ) + ":\n " + gson .toJson (message ));
132+
133+ if (logger .isTraceEnabled ()) {
134+ logger .trace ("Received from {}:\n {}" , super .base ().getSocketOptx (zmq .ZMQ .ZMQ_LAST_ENDPOINT ), gson .toJson (message ));
135+ }
133136
134137 return message ;
135138 }
@@ -157,7 +160,9 @@ public synchronized void sendMessage(Message<?> message) {
157160
158161 String hmac = hmacGenerator .calculateSignature (headerRaw , parentHeaderRaw , metadata , content );
159162
160- logger .finer (() -> "Sending to " + super .base ().getSocketOptx (zmq .ZMQ .ZMQ_LAST_ENDPOINT ) + ":\n " + gson .toJson (message ));
163+ if (logger .isTraceEnabled ()) {
164+ logger .trace ("Sending to {}:\n {}" , super .base ().getSocketOptx (zmq .ZMQ .ZMQ_LAST_ENDPOINT ), gson .toJson (message ));
165+ }
161166
162167 message .getIdentities ().forEach (super ::sendMore );
163168 super .sendMore (IDENTITY_BLOB_DELIMITER );
0 commit comments