Broken logging with “%”

Device log streams calls that included literal % symbols but no args used to raise an exception. For example, self.debug_stream("I want to log a %s symbol"), or when when logging an exception traceback that happened to include a format method. This is fixed in PyTango 9.4.x, so if you had code that was doing additional escaping for the % characters before logging, this can be removed.

If you do pass additional args to a logging function after the message string, and the number of args doesn’t match the number of % string formatting characters an exception will still be raised.

The updated methods are:

Where tango.Logger is the type returned by tango.server.Device.get_logger().