I would like to pose a question here: who is the target audience the sys://log transport?
"syslog" is primarily intended for system administrators. But it seems like sys://log is more of a debug trail for programmers. Among many excellent designs by my predecessor here was our product's logging system "dbugLog" which, although a little verbose, has continually proven invaluable for diagnosing complex interactions across a series of distributed processes. The format is: LEVEL [TIMESTAMP SOURCEFILE:LINENO] MESSAGE The []s are literals, there to help with stripping that information out with awk/perl/etc. E.g. I [20101116-12:21:13.399.221 zmqSend.cpp:112] Connection opened We have a normalized convention of beginning "message" with a set of key:value pairs that distinguish attributions such as ... which "teulIndex" (our internal socket API), which user, etc. I [20101116-12:21:13.399.221 login.cpp:875] t:2231 p:10502 c:oliver login granted I've now started using zmq to log these messages and altered the format a little, LEVEL|FACILITY|TIMESTAMP|SOURCE:LINE|ATTRIBUTIONS|MESSAGE|[BACKTRACE] I've worked with a lot of distributed systems in the last ~20 years, but it has been a wonderful experience being able to rely so heavily on the logs. The inclusion of __FILENAME__ __LINENO__ in the logs has the convenience of tying in nicely with various IDEs which can be coaxed into receiving a quick rework of the logs into an errors list and give you a guided tour of the program flow... Mmm... This may be more complex than ZMQ needs, but I wanted to put it out there as food for thought. - Oliver _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
