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]