On Mar 13, 2006, at 11:37 AM, Geir Magnusson Jr wrote:
Dain Sundstrom wrote:
I think projects should avoid logging entirely. The problem with
logging is the information that comes out of it is useless to
other software because it is encoded into user readable strings.
IMHO, the best policy is to use a Monitor. For example see the
following XBean Monitors:
http://svn.apache.org/repos/asf/geronimo/xbean/trunk/xbean-kernel/
src/main/java/org/apache/xbean/kernel/ServiceMonitor.javahttp://
svn.apache.org/repos/asf/geronimo/xbean/trunk/xbean-kernel/src/
main/java/org/apache/xbean/kernel/KernelMonitor.java
I think projects should avoid logging too. (I'm still hoping
someone tells me how the orb in Sun's J2SE logs... :)
Question about the monitors.... I'm curious - why didn't you
generalize so that you could add more events as needed w/o breaking
client software?
Well, I'm actually not too worried about breaking client software
that is monitoring the kernel. For most uses, I expect a user
outside of the xbean project to simply write bridges using the
monitor, which simply convert the monitor event into an event object
specific to another system. For example a Log4JKernel monitor, would
convert a kernel monitor event into a log4j log event. So if we add
stuff in the future it would not be a big deal for the owner of that
monitor to write another version. If we decided to make drastic
changes, we could simply create another interface and perform the
wrapping inside of the kernel.
Anyway, what did you have in mind by the term "generalize"?
-dain