11"""Sync diag."""
2- import logging
32import socket
43import time
54
65from pymodbus .client .tcp import ModbusTcpClient
76from pymodbus .constants import Defaults
87from pymodbus .exceptions import ConnectionException
98from pymodbus .framer .socket_framer import ModbusSocketFramer
9+ from pymodbus .logging import Log
1010
1111
12- _logger = logging .getLogger (__name__ )
13-
1412LOG_MSGS = {
1513 "conn_msg" : "Connecting to modbus device %s" ,
1614 "connfail_msg" : "Connection to (%s, %s) failed: %s" ,
@@ -91,23 +89,21 @@ def connect(self):
9189 if self .socket :
9290 return True
9391 try :
94- _logger .info (LOG_MSGS ["conn_msg" ], self )
92+ Log .info (LOG_MSGS ["conn_msg" ], self )
9593 self .socket = socket .create_connection (
9694 (self .params .host , self .params .port ),
9795 timeout = self .params .timeout ,
9896 source_address = self .params .source_address ,
9997 )
10098 except socket .error as msg :
101- _logger .error (
102- LOG_MSGS ["connfail_msg" ], self .params .host , self .params .port , msg
103- )
99+ Log .error (LOG_MSGS ["connfail_msg" ], self .params .host , self .params .port , msg )
104100 self .close ()
105101 return self .socket is not None
106102
107103 def close (self ):
108104 """Close the underlying socket connection."""
109105 if self .socket :
110- _logger .info (LOG_MSGS ["discon_msg" ], self )
106+ Log .info (LOG_MSGS ["discon_msg" ], self )
111107 self .socket .close ()
112108 self .socket = None
113109
@@ -122,29 +118,29 @@ def recv(self, size):
122118 if self .warn_delay_limit is not None and delay >= self .warn_delay_limit :
123119 self ._log_delayed_response (len (result ), size , delay )
124120 elif not size :
125- _logger .debug (LOG_MSGS ["timelimit_read_msg" ], delay , len (result ))
121+ Log .debug (LOG_MSGS ["timelimit_read_msg" ], delay , len (result ))
126122 else :
127- _logger .debug (LOG_MSGS ["read_msg" ], delay , len (result ), size )
123+ Log .debug (LOG_MSGS ["read_msg" ], delay , len (result ), size )
128124
129125 return result
130126 except ConnectionException as exc :
131127 # Only log actual network errors, "if not self.socket" then it's a internal code issue
132128 if "Connection unexpectedly closed" in exc .string :
133- _logger .error (LOG_MSGS ["unexpected_dc_msg" ], self , exc )
129+ Log .error (LOG_MSGS ["unexpected_dc_msg" ], self , exc )
134130 raise ConnectionException from exc
135131
136132 def _log_delayed_response (self , result_len , size , delay ):
137133 """Log delayed response."""
138134 if not size and result_len > 0 :
139- _logger .info (LOG_MSGS ["timelimit_read_msg" ], delay , result_len )
135+ Log .info (LOG_MSGS ["timelimit_read_msg" ], delay , result_len )
140136 elif (
141137 (not result_len ) or (size and result_len < size )
142138 ) and delay >= self .params .timeout :
143139 size_txt = size if size else "in timelimit read"
144140 read_type = f"of { size_txt } expected"
145- _logger .warning (LOG_MSGS ["timeout_msg" ], delay , result_len , read_type )
141+ Log .warning (LOG_MSGS ["timeout_msg" ], delay , result_len , read_type )
146142 else :
147- _logger .warning (LOG_MSGS ["delay_msg" ], delay , result_len , size )
143+ Log .warning (LOG_MSGS ["delay_msg" ], delay , result_len , size )
148144
149145 def __str__ (self ):
150146 """Build a string representation of the connection.
@@ -163,9 +159,7 @@ def get_client():
163159
164160 :returns: ModbusTcpClient or a child class thereof
165161 """
166- return (
167- ModbusTcpDiagClient if _logger .isEnabledFor (logging .ERROR ) else ModbusTcpClient
168- )
162+ return ModbusTcpDiagClient
169163
170164
171165# --------------------------------------------------------------------------- #
0 commit comments