On 03/28/2012 05:06 PM, david@lang.hm wrote:
On Wed, 28 Mar 2012, Dmitri Pal wrote:
On 03/28/2012 03:45 PM, david@lang.hm wrote:
I agree that there will be differing needs. As a result, I believe that there will need to be multiple protocols. (more on this below)
If there are multiple protocols possible, the standard needs to define a few things.
what protocols are mandatory
how to figure out what protocol is being used
We could just say that JSON is the only mandatory protocol, but I think we do want more than that.
We could just say that it's up to the system administrators and programmers to configure everything to know that the other side is useing, but if we do that we will have justly earned the hate of system administrators for life (and beyond), especially if changing the sending protocol requires changes to the openlog call in the application.
I'm not saying that we have to define all the possible protocols now, but we have some ideas of a few that we want to do, so we should start with them and think about how we would add others.
As for what protocols are desirable, we have
JSON simple, human readable, works without any changes to existing log mechanisms
XML human readable, supports data types, message types, strong mindshare in the fields of structured data. many existing tools
BSON relativly simple, more efficient than human readable text in some cases, supports data types
I think I agree with you more than with the rest. But IMO the standardization of the top level API much more important as it affects much more people. You are bringing right points and I agree with you but it is easier to evolve under the API that the API itself.
Here I disagree with you a bit.
I fully expect that there will be many different APIs available. Many of them may end up being implemented as convienience functions wrapped around a more complex API, but from the programmers point of view that doesn't matter. Different languages will have different APIs as well.
What needs to be standardized is the communication between the different components. Define that and everything else can evolve and the resulting ecosystem continues to work.
Even the communication can evolve, but the protocols need to be built with evolution and backwards compatibility in mind.
David Lang
We need to start somewhere. At this point I see enough support of the selog.h effort to start cranking code when I can. I hope this would switch discussion from a theoretical into a more concrete one.