[zeromq-dev] Logging format for sys://log transport

Martin Sustrik sustrik at 250bpm.com
Tue Nov 23 07:38:54 CET 2010


> Martin Sustrik said the following on 11/19/2010 4:55 AM:
>> I think there are many possible audiences, however, we haven't yet
>> figured out who exactly is it going to be.
>> Thus, the whole system should be open-ended allowing for later addition
>> of functionality. That's why I alluded to /proc pseudofilesystem.
> I would caution against this approach. If you try to please everyone,
> you will require a great deal of description for each log message. The
> logging requirements from a developer are likely to be different than
> those of a sysadmin or a debugger or a user, both of whom are going to
> want different ways of artefacting any given log message.
> Here is my $0.02. More than anything else, make the ZeroMQ logging
> assist with developing a ZeroMQ tool, and leave the downstream reportage
> to the application developer.
> It wants to provide a way for the ZeroMQ team *and* the application
> developer to locate a point of failure in the ZeroMQ source, and having
> a logging entry with the file/line of the report is somehow mentally
> more conducive to your going and looking at that piece of code than some
> random message (after a few years of working with other people's code,
> you rapidly learn that searching for any given text string in
> someone-elses-code is going to be the start of a really lousy day).
> The temptation to develop a new logging system will be strong. I'm
> pretting sure that logging leads directly to suffering without the
> intermediate steps of fear, anger and hate :)

I think you've misunderstood. The logging system is not meant to be used 
for debugging 0MQ source code. Instead it is meant for debugging the 

Some possible examples of log messages:

- particular endpoint uses invalid wire-level protocol
- particular endpoint is not accessible for a prolonged period of time
- there's a cycle in the topology
- etc.


More information about the zeromq-dev mailing list