log_message_monitor.py
Go to the documentation of this file.
1 #
2 # Copyright (C) 2014-2015 UAVCAN Development Team <uavcan.org>
3 #
4 # This software is distributed under the terms of the MIT License.
5 #
6 # Author: Ben Dyer <ben_dyer@mac.com>
7 # Pavel Kirienko <pavel.kirienko@zubax.com>
8 #
9 
10 from __future__ import division, absolute_import, print_function, unicode_literals
11 from logging import getLogger
12 import pyuavcan_v0
13 
14 
15 logger = getLogger(__name__)
16 
17 
18 class LogMessageMonitor(object):
19  def __init__(self, node):
20  self._handle = node.add_handler(pyuavcan_v0.protocol.debug.LogMessage, self._on_message) # @UndefinedVariable
21 
22  def close(self):
23  self._handle.remove()
24 
25  def _on_message(self, e):
26  logmsg = "LogMessageMonitor [#{0:03d}:{1}] {2}"\
27  .format(e.transfer.source_node_id, e.message.source.decode(), e.message.text.decode())
28  (logger.debug, logger.info, logger.warning, logger.error)[e.message.level.value](logmsg)
format
Definition: dsdl/test.py:6


uavcan_communicator
Author(s):
autogenerated on Wed Jan 11 2023 03:59:39