Logging to two separate devices using TLS with different logging level

Dear All,

I have a Sending device and two receiving devices, which are written using PyTango. SendingDS sends tango logs. Since SendinDS can send tango logs to multiple target devices, but with same logging level. To see messages above different levels for each target device I had put filters in receiving devices and which was working fine. But the requirement is that I should put filters for different logging levels(TLS) for different receiving devices in SendingDS itself. So that each receiving device can see tango logs at different levels from SendingDS.

So how can I make my SendingDS to send tango logs to two receivingDS at two different logging levels.

Hi Sachin,
as you may imagine, filtering at the receiving side is not much efficient in terms of bandwidth and processing as may easily bring in scaling issues. However, please note that the original requirement is not even to put filters in the "SendingDS".
The TLS currently supports one active logging level. For the SKA, the requirement is to develop a base class (devices will derive from) that can manage and emit logs at different levels for the three to-be-supported logging targets, whenever a device issues a message to a TANGO or python log stream.
Hi Sachin,

Different logging levels for appenders (log targets) can be selected by enabling the APPENDERS_HAVE_LEVEL_THRESHOLD flag when building the Tango Control source code. Check the following link:

I have never tested it. But you must add the define in the cpp class of the cpp Tango project. TANGO experts, please correct me if I'm mistaken.

Similar thing should be possible for Java and Python Device Servers.

I hope this helps in resolving the problem.

Vatsal Trivedi
Register or login to create to post a reply.