mirror of
https://github.com/FreeOpcUa/opcua-asyncio
synced 2025-10-29 17:07:18 +08:00
less verbose logging
This commit is contained in:
parent
b65a1fa4b7
commit
08861799d3
|
|
@ -13,4 +13,5 @@ install:
|
|||
- pip install pytest-asyncio
|
||||
- pip install cryptography
|
||||
# command to run tests
|
||||
#script: pytest -v
|
||||
script: pytest -v
|
||||
|
|
|
|||
|
|
@ -44,14 +44,14 @@ class AttributeService:
|
|||
self._aspace: "AddressSpace" = aspace
|
||||
|
||||
def read(self, params):
|
||||
self.logger.debug("read %s", params)
|
||||
#self.logger.debug("read %s", params)
|
||||
res = []
|
||||
for readvalue in params.NodesToRead:
|
||||
res.append(self._aspace.get_attribute_value(readvalue.NodeId, readvalue.AttributeId))
|
||||
return res
|
||||
|
||||
def write(self, params, user=User.Admin):
|
||||
self.logger.debug("write %s as user %s", params, user)
|
||||
#self.logger.debug("write %s as user %s", params, user)
|
||||
res = []
|
||||
for writevalue in params.NodesToWrite:
|
||||
if user != User.Admin:
|
||||
|
|
@ -76,7 +76,7 @@ class ViewService(object):
|
|||
self._aspace: "AddressSpace" = aspace
|
||||
|
||||
def browse(self, params):
|
||||
self.logger.debug("browse %s", params)
|
||||
#self.logger.debug("browse %s", params)
|
||||
res = []
|
||||
for desc in params.NodesToBrowse:
|
||||
res.append(self._browse(desc))
|
||||
|
|
@ -96,15 +96,15 @@ class ViewService(object):
|
|||
|
||||
def _is_suitable_ref(self, desc, ref):
|
||||
if not self._suitable_direction(desc.BrowseDirection, ref.IsForward):
|
||||
self.logger.debug("%s is not suitable due to direction", ref)
|
||||
#self.logger.debug("%s is not suitable due to direction", ref)
|
||||
return False
|
||||
if not self._suitable_reftype(desc.ReferenceTypeId, ref.ReferenceTypeId, desc.IncludeSubtypes):
|
||||
self.logger.debug("%s is not suitable due to type", ref)
|
||||
#self.logger.debug("%s is not suitable due to type", ref)
|
||||
return False
|
||||
if desc.NodeClassMask and ((desc.NodeClassMask & ref.NodeClass) == 0):
|
||||
self.logger.debug("%s is not suitable due to class", ref)
|
||||
#self.logger.debug("%s is not suitable due to class", ref)
|
||||
return False
|
||||
self.logger.debug("%s is a suitable ref for desc %s", ref, desc)
|
||||
#self.logger.debug("%s is a suitable ref for desc %s", ref, desc)
|
||||
return True
|
||||
|
||||
def _suitable_reftype(self, ref1, ref2, subtypes):
|
||||
|
|
@ -143,14 +143,14 @@ class ViewService(object):
|
|||
return False
|
||||
|
||||
def translate_browsepaths_to_nodeids(self, browsepaths):
|
||||
self.logger.debug("translate browsepath: %s", browsepaths)
|
||||
#self.logger.debug("translate browsepath: %s", browsepaths)
|
||||
results = []
|
||||
for path in browsepaths:
|
||||
results.append(self._translate_browsepath_to_nodeid(path))
|
||||
return results
|
||||
|
||||
def _translate_browsepath_to_nodeid(self, path):
|
||||
self.logger.debug("looking at path: %s", path)
|
||||
#self.logger.debug("looking at path: %s", path)
|
||||
res = ua.BrowsePathResult()
|
||||
if path.StartingNode not in self._aspace:
|
||||
res.StatusCode = ua.StatusCode(ua.StatusCodes.BadNodeIdInvalid)
|
||||
|
|
@ -197,7 +197,7 @@ class NodeManagementService:
|
|||
yield item
|
||||
|
||||
def _add_node(self, item, user, check=True):
|
||||
self.logger.debug("Adding node %s %s", item.RequestedNewNodeId, item.BrowseName)
|
||||
#self.logger.debug("Adding node %s %s", item.RequestedNewNodeId, item.BrowseName)
|
||||
result = ua.AddNodesResult()
|
||||
|
||||
if not user == User.Admin:
|
||||
|
|
@ -208,7 +208,7 @@ class NodeManagementService:
|
|||
# If Identifier of requested NodeId is null we generate a new NodeId using
|
||||
# the namespace of the nodeid, this is an extention of the spec to allow
|
||||
# to requests the server to generate a new nodeid in a specified namespace
|
||||
self.logger.debug("RequestedNewNodeId has null identifier, generating Identifier")
|
||||
#self.logger.debug("RequestedNewNodeId has null identifier, generating Identifier")
|
||||
item.RequestedNewNodeId = self._aspace.generate_nodeid(item.RequestedNewNodeId.NamespaceIndex)
|
||||
else:
|
||||
if item.RequestedNewNodeId in self._aspace:
|
||||
|
|
@ -458,6 +458,7 @@ class MethodService:
|
|||
return results
|
||||
|
||||
def _call(self, method):
|
||||
self.logger.info("Calling: %s", method)
|
||||
res = ua.CallMethodResult()
|
||||
if method.ObjectId not in self._aspace or method.MethodId not in self._aspace:
|
||||
res.StatusCode = ua.StatusCode(ua.StatusCodes.BadNodeIdInvalid)
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ class InternalSubscription:
|
|||
self._publish_cycles_count += 1
|
||||
result = self._pop_publish_result()
|
||||
if result is not None:
|
||||
self.logger.info('publish_results for %s', self.data.SubscriptionId)
|
||||
#self.logger.info('publish_results for %s', self.data.SubscriptionId)
|
||||
# The callback can be:
|
||||
# Subscription.publish_callback -> server internal subscription
|
||||
# UaProcessor.forward_publish_response -> client subscription
|
||||
|
|
@ -138,7 +138,7 @@ class InternalSubscription:
|
|||
notif = ua.DataChangeNotification()
|
||||
notif.MonitoredItems = [item for sublist in self._triggered_datachanges.values() for item in sublist]
|
||||
self._triggered_datachanges = {}
|
||||
self.logger.debug("sending datachanges notification with %s events", len(notif.MonitoredItems))
|
||||
#self.logger.debug("sending datachanges notification with %s events", len(notif.MonitoredItems))
|
||||
result.NotificationMessage.NotificationData.append(notif)
|
||||
|
||||
def _pop_triggered_events(self, result: ua.PublishResult):
|
||||
|
|
@ -148,7 +148,7 @@ class InternalSubscription:
|
|||
notif.Events = [item for sublist in self._triggered_events.values() for item in sublist]
|
||||
self._triggered_events = {}
|
||||
result.NotificationMessage.NotificationData.append(notif)
|
||||
self.logger.debug("sending event notification with %s events", len(notif.Events))
|
||||
#self.logger.debug("sending event notification with %s events", len(notif.Events))
|
||||
|
||||
def _pop_triggered_statuschanges(self, result: ua.PublishResult):
|
||||
"""Append all enqueued status changes to the given `PublishResult` and clear the queue."""
|
||||
|
|
@ -156,20 +156,20 @@ class InternalSubscription:
|
|||
notif = ua.StatusChangeNotification()
|
||||
notif.Status = self._triggered_statuschanges.pop(0)
|
||||
result.NotificationMessage.NotificationData.append(notif)
|
||||
self.logger.debug("sending event notification %s", notif.Status)
|
||||
#self.logger.debug("sending event notification %s", notif.Status)
|
||||
|
||||
def publish(self, acks: Iterable[int]):
|
||||
"""
|
||||
Reset publish cycle count, acknowledge PublishResults.
|
||||
:param acks: Sequence number of the PublishResults to acknowledge
|
||||
"""
|
||||
self.logger.info("publish request with acks %s", acks)
|
||||
#self.logger.info("publish request with acks %s", acks)
|
||||
self._publish_cycles_count = 0
|
||||
for nb in acks:
|
||||
self._not_acknowledged_results.pop(nb, None)
|
||||
|
||||
def republish(self, nb):
|
||||
self.logger.info("re-publish request for ack %s in subscription %s", nb, self)
|
||||
#self.logger.info("re-publish request for ack %s in subscription %s", nb, self)
|
||||
notification_message = self._not_acknowledged_results.pop(nb, None)
|
||||
if notification_message:
|
||||
self.logger.info("re-publishing ack %s in subscription %s", nb, self)
|
||||
|
|
|
|||
|
|
@ -179,8 +179,7 @@ class MonitoredItemService:
|
|||
handle, error)
|
||||
self.trigger_statuschange(error)
|
||||
else:
|
||||
self.logger.info("subscription %s: datachange callback called with handle '%s' and value '%s'", self,
|
||||
handle, value.Value)
|
||||
#self.logger.info("subscription %s: datachange callback called with handle '%s' and value '%s'", self, handle, value.Value)
|
||||
event = ua.MonitoredItemNotification()
|
||||
mid = self._monitored_datachange[handle]
|
||||
mdata = self._monitored_items[mid]
|
||||
|
|
@ -207,7 +206,7 @@ class MonitoredItemService:
|
|||
|
||||
def trigger_event(self, event):
|
||||
if event.emitting_node not in self._monitored_events:
|
||||
self.logger.debug("%s has no subscription for events %s from node: %s", self, event, event.emitting_node)
|
||||
self.logger.debug("%s has NO subscription for events %s from node: %s", self, event, event.emitting_node)
|
||||
return False
|
||||
self.logger.debug("%s has subscription for events %s from node: %s", self, event, event.emitting_node)
|
||||
mids = self._monitored_events[event.emitting_node]
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ class UaProcessor:
|
|||
"""
|
||||
Try to send a `PublishResponse` with the given `PublishResult`.
|
||||
"""
|
||||
_logger.info("forward publish response %s", result)
|
||||
#_logger.info("forward publish response %s", result)
|
||||
while True:
|
||||
if not len(self._publish_requests):
|
||||
self._publish_results.append(result)
|
||||
|
|
@ -150,9 +150,8 @@ class UaProcessor:
|
|||
data = self._connection.security_policy.server_certificate + params.ClientNonce
|
||||
response.Parameters.ServerSignature.Signature = \
|
||||
self._connection.security_policy.asymmetric_cryptography.signature(data)
|
||||
|
||||
response.Parameters.ServerSignature.Algorithm = self._connection.security_policy.AsymmetricSignatureURI
|
||||
_logger.info("sending create session response")
|
||||
#_logger.info("sending create session response")
|
||||
self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response)
|
||||
|
||||
elif typeid == ua.NodeId(ua.ObjectIds.CloseSessionRequest_Encoding_DefaultBinary):
|
||||
|
|
@ -181,7 +180,7 @@ class UaProcessor:
|
|||
result = self.session.activate_session(params)
|
||||
response = ua.ActivateSessionResponse()
|
||||
response.Parameters = result
|
||||
_logger.info("sending read response")
|
||||
#_logger.info("sending read response")
|
||||
self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response)
|
||||
|
||||
elif typeid == ua.NodeId(ua.ObjectIds.ReadRequest_Encoding_DefaultBinary):
|
||||
|
|
@ -190,7 +189,7 @@ class UaProcessor:
|
|||
results = await self.session.read(params)
|
||||
response = ua.ReadResponse()
|
||||
response.Results = results
|
||||
_logger.info("sending read response")
|
||||
#_logger.info("sending read response")
|
||||
self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response)
|
||||
|
||||
elif typeid == ua.NodeId(ua.ObjectIds.WriteRequest_Encoding_DefaultBinary):
|
||||
|
|
@ -199,7 +198,7 @@ class UaProcessor:
|
|||
results = await self.session.write(params)
|
||||
response = ua.WriteResponse()
|
||||
response.Results = results
|
||||
_logger.info("sending write response")
|
||||
#_logger.info("sending write response")
|
||||
self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response)
|
||||
|
||||
elif typeid == ua.NodeId(ua.ObjectIds.BrowseRequest_Encoding_DefaultBinary):
|
||||
|
|
@ -208,7 +207,7 @@ class UaProcessor:
|
|||
results = await self.session.browse(params)
|
||||
response = ua.BrowseResponse()
|
||||
response.Results = results
|
||||
_logger.info("sending browse response")
|
||||
#_logger.info("sending browse response")
|
||||
self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response)
|
||||
|
||||
elif typeid == ua.NodeId(ua.ObjectIds.GetEndpointsRequest_Encoding_DefaultBinary):
|
||||
|
|
@ -217,7 +216,7 @@ class UaProcessor:
|
|||
endpoints = await self.iserver.get_endpoints(params, sockname=self.sockname)
|
||||
response = ua.GetEndpointsResponse()
|
||||
response.Endpoints = endpoints
|
||||
_logger.info("sending get endpoints response")
|
||||
#_logger.info("sending get endpoints response")
|
||||
self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response)
|
||||
|
||||
elif typeid == ua.NodeId(ua.ObjectIds.FindServersRequest_Encoding_DefaultBinary):
|
||||
|
|
@ -226,7 +225,7 @@ class UaProcessor:
|
|||
servers = self.iserver.find_servers(params)
|
||||
response = ua.FindServersResponse()
|
||||
response.Servers = servers
|
||||
_logger.info("sending find servers response")
|
||||
#_logger.info("sending find servers response")
|
||||
self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response)
|
||||
|
||||
elif typeid == ua.NodeId(ua.ObjectIds.RegisterServerRequest_Encoding_DefaultBinary):
|
||||
|
|
@ -234,7 +233,7 @@ class UaProcessor:
|
|||
serv = struct_from_binary(ua.RegisteredServer, body)
|
||||
self.iserver.register_server(serv)
|
||||
response = ua.RegisterServerResponse()
|
||||
_logger.info("sending register server response")
|
||||
#_logger.info("sending register server response")
|
||||
self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response)
|
||||
|
||||
elif typeid == ua.NodeId(ua.ObjectIds.RegisterServer2Request_Encoding_DefaultBinary):
|
||||
|
|
@ -243,7 +242,7 @@ class UaProcessor:
|
|||
results = self.iserver.register_server2(params)
|
||||
response = ua.RegisterServer2Response()
|
||||
response.ConfigurationResults = results
|
||||
_logger.info("sending register server 2 response")
|
||||
#_logger.info("sending register server 2 response")
|
||||
self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response)
|
||||
|
||||
elif typeid == ua.NodeId(ua.ObjectIds.TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary):
|
||||
|
|
@ -252,7 +251,7 @@ class UaProcessor:
|
|||
paths = await self.session.translate_browsepaths_to_nodeids(params.BrowsePaths)
|
||||
response = ua.TranslateBrowsePathsToNodeIdsResponse()
|
||||
response.Results = paths
|
||||
_logger.info("sending translate browsepaths to nodeids response")
|
||||
#_logger.info("sending translate browsepaths to nodeids response")
|
||||
self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response)
|
||||
|
||||
elif typeid == ua.NodeId(ua.ObjectIds.AddNodesRequest_Encoding_DefaultBinary):
|
||||
|
|
@ -261,7 +260,7 @@ class UaProcessor:
|
|||
results = await self.session.add_nodes(params.NodesToAdd)
|
||||
response = ua.AddNodesResponse()
|
||||
response.Results = results
|
||||
_logger.info("sending add node response")
|
||||
#_logger.info("sending add node response")
|
||||
self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response)
|
||||
|
||||
elif typeid == ua.NodeId(ua.ObjectIds.DeleteNodesRequest_Encoding_DefaultBinary):
|
||||
|
|
@ -270,7 +269,7 @@ class UaProcessor:
|
|||
results = await self.session.delete_nodes(params)
|
||||
response = ua.DeleteNodesResponse()
|
||||
response.Results = results
|
||||
_logger.info("sending delete node response")
|
||||
#_logger.info("sending delete node response")
|
||||
self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response)
|
||||
|
||||
elif typeid == ua.NodeId(ua.ObjectIds.AddReferencesRequest_Encoding_DefaultBinary):
|
||||
|
|
@ -279,7 +278,7 @@ class UaProcessor:
|
|||
results = await self.session.add_references(params.ReferencesToAdd)
|
||||
response = ua.AddReferencesResponse()
|
||||
response.Results = results
|
||||
_logger.info("sending add references response")
|
||||
#_logger.info("sending add references response")
|
||||
self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response)
|
||||
|
||||
elif typeid == ua.NodeId(ua.ObjectIds.DeleteReferencesRequest_Encoding_DefaultBinary):
|
||||
|
|
@ -288,7 +287,7 @@ class UaProcessor:
|
|||
results = await self.session.delete_references(params.ReferencesToDelete)
|
||||
response = ua.DeleteReferencesResponse()
|
||||
response.Parameters.Results = results
|
||||
_logger.info("sending delete references response")
|
||||
#_logger.info("sending delete references response")
|
||||
self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response)
|
||||
|
||||
elif typeid == ua.NodeId(ua.ObjectIds.CreateSubscriptionRequest_Encoding_DefaultBinary):
|
||||
|
|
@ -297,7 +296,7 @@ class UaProcessor:
|
|||
result = await self.session.create_subscription(params, callback=self.forward_publish_response)
|
||||
response = ua.CreateSubscriptionResponse()
|
||||
response.Parameters = result
|
||||
_logger.info("sending create subscription response")
|
||||
#_logger.info("sending create subscription response")
|
||||
self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response)
|
||||
|
||||
elif typeid == ua.NodeId(ua.ObjectIds.DeleteSubscriptionsRequest_Encoding_DefaultBinary):
|
||||
|
|
@ -306,7 +305,7 @@ class UaProcessor:
|
|||
results = await self.session.delete_subscriptions(params.SubscriptionIds)
|
||||
response = ua.DeleteSubscriptionsResponse()
|
||||
response.Results = results
|
||||
_logger.info("sending delete subscription response")
|
||||
#_logger.info("sending delete subscription response")
|
||||
self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response)
|
||||
|
||||
elif typeid == ua.NodeId(ua.ObjectIds.CreateMonitoredItemsRequest_Encoding_DefaultBinary):
|
||||
|
|
@ -315,7 +314,7 @@ class UaProcessor:
|
|||
results = await self.session.create_monitored_items(params)
|
||||
response = ua.CreateMonitoredItemsResponse()
|
||||
response.Results = results
|
||||
_logger.info("sending create monitored items response")
|
||||
#_logger.info("sending create monitored items response")
|
||||
self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response)
|
||||
|
||||
elif typeid == ua.NodeId(ua.ObjectIds.ModifyMonitoredItemsRequest_Encoding_DefaultBinary):
|
||||
|
|
@ -324,7 +323,7 @@ class UaProcessor:
|
|||
results = await self.session.modify_monitored_items(params)
|
||||
response = ua.ModifyMonitoredItemsResponse()
|
||||
response.Results = results
|
||||
_logger.info("sending modify monitored items response")
|
||||
#_logger.info("sending modify monitored items response")
|
||||
self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response)
|
||||
|
||||
elif typeid == ua.NodeId(ua.ObjectIds.DeleteMonitoredItemsRequest_Encoding_DefaultBinary):
|
||||
|
|
@ -333,7 +332,7 @@ class UaProcessor:
|
|||
results = await self.session.delete_monitored_items(params)
|
||||
response = ua.DeleteMonitoredItemsResponse()
|
||||
response.Results = results
|
||||
_logger.info("sending delete monitored items response")
|
||||
#_logger.info("sending delete monitored items response")
|
||||
self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response)
|
||||
|
||||
elif typeid == ua.NodeId(ua.ObjectIds.HistoryReadRequest_Encoding_DefaultBinary):
|
||||
|
|
@ -342,7 +341,7 @@ class UaProcessor:
|
|||
results = await self.session.history_read(params)
|
||||
response = ua.HistoryReadResponse()
|
||||
response.Results = results
|
||||
_logger.info("sending history read response")
|
||||
#_logger.info("sending history read response")
|
||||
self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response)
|
||||
|
||||
elif typeid == ua.NodeId(ua.ObjectIds.RegisterNodesRequest_Encoding_DefaultBinary):
|
||||
|
|
@ -351,14 +350,14 @@ class UaProcessor:
|
|||
_logger.info("Node registration not implemented")
|
||||
response = ua.RegisterNodesResponse()
|
||||
response.Parameters.RegisteredNodeIds = params.NodesToRegister
|
||||
_logger.info("sending register nodes response")
|
||||
#_logger.info("sending register nodes response")
|
||||
self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response)
|
||||
|
||||
elif typeid == ua.NodeId(ua.ObjectIds.UnregisterNodesRequest_Encoding_DefaultBinary):
|
||||
_logger.info("unregister nodes request")
|
||||
params = struct_from_binary(ua.UnregisterNodesParameters, body)
|
||||
response = ua.UnregisterNodesResponse()
|
||||
_logger.info("sending unregister nodes response")
|
||||
#_logger.info("sending unregister nodes response")
|
||||
self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response)
|
||||
|
||||
elif typeid == ua.NodeId(ua.ObjectIds.PublishRequest_Encoding_DefaultBinary):
|
||||
|
|
@ -378,7 +377,7 @@ class UaProcessor:
|
|||
self.forward_publish_response(result)
|
||||
break
|
||||
self.session.publish(params.SubscriptionAcknowledgements)
|
||||
_logger.debug("publish forward to server")
|
||||
#_logger.debug("publish forward to server")
|
||||
|
||||
elif typeid == ua.NodeId(ua.ObjectIds.RepublishRequest_Encoding_DefaultBinary):
|
||||
_logger.info("re-publish request")
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user