Howdy,
On the subject of AccessLogValve: I hadn't thought of the things Tim
suggested, but I have a different suggestion, part of a more general
suggestion:

1. Convert AccessLogValve to be a servlet specification 2.3 filter, i.e.
something portable.  We can define it in $CATALINA_HOME/conf/web.xml,
commented out by default perhaps, and users can move the definition
around as they need just like they do with the servlets defined
conf/web.xml.

Furthermore, people can then extend/customize AccessLogFilter much more
easily, without needing to touch any tomcat classes.  And finally, this
will allow the full power of filter-mapping to be applied to access
logging. (I imagine the default in conf/web.xml would be the /*
url-pattern mapping, but I know I and other users have different use
cases).

If you think this is useful, I'd like to start working on it myself ;)
If you think it's not useful/bad/stupid, please let me know ;)

2. As an extension of the above idea, I would propose converting more of
the tomcat non-standard features into portable implementations.  This
includes the other filters, e.g. RemoteAddressFilter, RemoteHostFilter,
RequestDumperValve, and others you think are appropriate.

Then I have other ideas, of varying degrees of radicality and I'm sure
stupidity ;)  I'm proposing them for discussion, as I think they're all
interesting.

1. Logging: use commons-logging throughout.  Eliminate tomcat logger
implementation classes (FileLogger, SystemErrLogger, SystemOutLogger).
Eliminate catalina.out file, instead having swallowOutput=true always
without option to change.  Default logging configuration should still
rotate nightly.

2. Eliminate the shared and common classloader repositories.  Unless
these are required by the spec?  Force webapps to be self-contained by
putting all their classes in WEB-INF/lib or WEB-INF/classes of their
webapp.  Have the WEB-INF/clases -> WEB-INF/lib -> endorsed -> system
classloader hierarchy, much simpler than current.

3. Provide a complete working configuration example for a cluster of
tomcat servers with a front-end tomcat as well, i.e. a pure tomcat-only
solution.  We already have the jvmRoute mechanism, but I think it needs
more examples/documentation so that people start using it.

4. Have no default objects created at runtime.  That means no default
session manager if one is not configured, no default context if one is
not configured, etc.  Ship tomcat with an example server.xml containing
all the default settings, and nothing more.

Of course, I'm willing to help on all of the above if we decide to do
any of them.

That should be enough to get some talk going ;)

Yoav Shapira
Millennium ChemInformatics


>-----Original Message-----
>From: Tim Funk [mailto:[EMAIL PROTECTED]
>Sent: Thursday, October 02, 2003 6:55 AM
>To: Tomcat Developers List
>Subject: Re: [next] What's next ?
>
>The AccessLog Valves might be nice to simplify so a "Logging" element
is a
>nested inside of the Valve declaration. This way the access log valve
can
>just do 3 things:
>- determine if it should log (conditional logging)
>- format a string to be logged
>- Pass it along to a "logging" element which can then store the log
entry
>somewhere
>
>
>This way the Accesslog valve code with respect to File rotation,
handling,
>... can be greatly simplified.
>
>for example: (some names are wrong but just an example)
><Valve className="org.apache.catalina.valves.AccessLogValve"
>        pattern="common" resolveHosts="false">
>    <Logger className="org.apache.catalina.logger.SimpleLogger"
>            directory="logs"  prefix="localhost_access_log."
suffix=".txt"
>/>
></Valve>
><Valve className="org.apache.catalina.valves.AccessLogValve"
>        pattern="common" resolveHosts="false">
>    <Logger className="org.apache.catalina.logger.PipedLogger"
>            exec="logrotate.pl" />
></Valve>
><Valve className="org.apache.catalina.valves.AccessLogValve"
>        pattern="common" resolveHosts="false">
>    <Logger className="org.apache.catalina.logger.FileDateFormatLogger"
>            directory="logs"   dateStamp="mm-DD-yyyy"
>            prefix="localhost_access_log." suffix=".txt" />
></Valve>
>
>-Tim
>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]




This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to