ble: prefix all device logs with address

Use a logger child in BlueZDevice prefixing all log messages with the
device address.

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
pull/136/head
Daniel Martin 2019-06-06 13:09:41 +02:00 committed by Peter Hutterer
parent c719ecf2e2
commit b52891f8fd
1 changed files with 12 additions and 11 deletions

View File

@ -115,10 +115,11 @@ class BlueZDevice(GObject.Object):
GObject.Object.__init__(self)
self.obj = obj
self.om = om
self.logger = logger.getChild(self.address)
assert(self.interface is not None)
logger.debug(f'Device {self.objpath} - {self.address} - {self.name}')
self.logger.debug(f'Device {self.objpath} - {self.name}')
self.characteristics = {}
self._resolve_gatt_characteristics()
@ -196,7 +197,7 @@ class BlueZDevice(GObject.Object):
continue
self.characteristics[uuid] = BlueZCharacteristic(obj)
logger.debug(f'GattCharacteristic: {uuid}')
self.logger.debug(f'GattCharacteristic: {uuid}')
def connect_device(self):
'''
@ -205,11 +206,11 @@ class BlueZDevice(GObject.Object):
'''
i = self.obj.get_interface(ORG_BLUEZ_DEVICE1)
if self.connected:
logger.info(f'{self.address}: Device is already connected')
self.logger.info(f'Device is already connected')
self.emit('connected')
return
logger.info(f'{self.address}: Connecting')
self.logger.info(f'Connecting')
i.Connect(result_handler=self._on_connect_result)
def _on_connect_result(self, obj, result, user_data):
@ -218,9 +219,9 @@ class BlueZDevice(GObject.Object):
result.code == Gio.IOErrorEnum.DBUS_ERROR and
Gio.dbus_error_get_remote_error(result) == 'org.bluez.Error.Failed' and
'Operation already in progress' in result.message):
logger.debug(f'{self.address}: Already connecting')
self.logger.debug(f'Already connecting')
elif isinstance(result, Exception):
logger.error(f'Connection failed: {result}')
self.logger.error(f'Connection failed: {result}')
def disconnect_device(self):
'''
@ -229,25 +230,25 @@ class BlueZDevice(GObject.Object):
'''
i = self.obj.get_interface(ORG_BLUEZ_DEVICE1)
if not i.get_cached_property('Connected').get_boolean():
logger.info(f'{self.address}: Device is already disconnected')
self.logger.info(f'Device is already disconnected')
self.emit('disconnected')
return
logger.info(f'{self.address}: Disconnecting')
self.logger.info(f'Disconnecting')
i.Disconnect(result_handler=self._on_disconnect_result)
def _on_disconnect_result(self, obj, result, user_data):
if isinstance(result, Exception):
logger.error(f'Disconnection failed: {result}')
self.logger.error(f'Disconnection failed: {result}')
def _on_properties_changed(self, obj, properties, invalidated_properties):
properties = properties.unpack()
if 'Connected' in properties:
if properties['Connected']:
logger.info('Connection established')
self.logger.info('Connection established')
else:
logger.info('Disconnected')
self.logger.info('Disconnected')
self.emit('disconnected')
if 'ServicesResolved' in properties:
if properties['ServicesResolved']: