On 7/27/01 8:36 PM, "Remy Maucherat" <[EMAIL PROTECTED]> wrote:
>
> Ok, I can understand why we would want to have integrated logging as a
> convinience feature for the application. However, I'd like to have the
> client go into no logging by default, and have the application use the
> interceptors to log what it wishes to log. I believe the current
> interceptors should be enough for that task (but we can add additional hooks
> if it's not the case).
Logging in components is going to become a problem. Every project at
Jakarta seems to have its own logging solution but something common
would has to surface. In Turbine I pushed to use log4j instead of the
logging interface we previously rolled ourselves. I also pushed to use log4j
in Fulcrum and Torque that were spun off from Turbine (services framework,
and persistence layer).
My reasoning was that log4j has done a good job at dealing with logging
and there's no reason to try and roll another system. I consider log4j
the logging interface. If I need to integrate another logging system
I simply make a log4j appender that adapts the other logging system
to log4j. I figure that eventually it's going to boil down to using
log4j or the Sun logging API and I went and picked log4j because I
find it to be outstanding. Logging has never been so easy and flexible.
What if the log4j developers made a really tiny core package, say 10-15k
that provided the bare minimum for logging? Would people be willing to
use it then?
How does the interceptor approach work?
I wanted to use log4j in Turbine, Fulcrum and Torque because it's very
easy to customize the logging from a properties file or xml configuration.
If I were to combine all the components in the commons in an application
how would I achieve consistent, uniform logging? Is this possible now?
If not, we should think about how this will work whether it's a micro-logger
interface, using interceptors or whatever because I would like to use
the same method that is decided upon here in the turbine packages.
I know in turbine that we will be using almost all the commons packages
eventually and the logging has to be easily configurable. I know from
using log4j that with simple changes to a properties file you can control
the logging from each component used in your application.
I don't think a micro-logger interface can provide the flexibility
that log4j already does. I am not familiar with interceptor approach.
I am going to be splitting more pieces out of turbine so I would really
like to have a common strategy for logging and here is probably the
place to hash it out.
If all projects are going to use a common logging strategy than this
strategy will be contained in a JAR and I think the log4j developers
would be will to work on something that would satisfy any requirements
that might arise. I would really not like to roll another logging
solution.
> What do you think ?
>
> Craig made (on tomcat-dev) some very valid points against log4j and its
> equivalents, and why the "if (debug) then log" is the right solution in many
> cases.
Do you have the tag line for this message, I would like to read it.
> Remy
--
jvz.
Jason van Zyl
http://tambora.zenplex.org
http://jakarta.apache.org/turbine
http://jakarta.apache.org/velocity
http://jakarta.apache.org/alexandria
http://jakarta.apache.org/commons