Curt Arnold wrote:
On Oct 5, 2009, at 5:39 AM, Ceki Gulcu wrote:
Betrayal is a big word to associate with a facility,
i.e. ObjectRenderer, which hardly anyone uses, especially since there
are other ways of transforming an Object into a String. In a
widely-used project like log4j, it is easy to dig one's heels so as to
prevent change based on the backward compatibility argument.
The changes I am proposing will affect an extremely small minority,
say less than 1 user in 100'000,
Jess Holle immediately responded when the idea was floated that it
would break his use of log4j. Usage questions on non-String first
parameters comes up often enough on the mailing list that it cannot be
just 1/100,000 of users.
To be fair and clear, my usage requires that my both custom appenders
and layouts receive the message Object I pass, not just a string.
*This* is critical. It is the difference between a logging system being
a simple string pipe and a /rich /log event data pump. The trappings as
to how exactly this occurs are less important as long as this capability
remains and is very efficient.
I have experimented with ObjectRenderers, but not found them compelling
in practice. Wherever I've considered using them, a custom appender or
layout has provided a much better answer.
--
Jess Holle