Aaron Mulder wrote:
In order to do this right, I think we should define an interface
for web server request log access. That interface should have a method
that searches the logs, like the server log GBean does, so rather than the
console code asking the web server for log files and then opening files
and scanning them, the console should pass a bunch of search parameters to
the web server, and the web server should identify and search its own logs
and just return the results to the console. If the web server has
multiple logs, I guess it should have a method that gets a list of log
file names, so the portlet can let you select the log to query, and the
search method can take the log file name as a parameter.
I have an outstanding task to rearrange the management interface
works for the web containers and connectors, so part of that can be
exposing the log manager or whatever we call the interface mentioned
above. So after those changes, the code should look something like this:
J2EEServer server = ...
WebManager[] managers = ... server.getWebManagers();
Why would there be multiple WebManagers for a single
server? A J2EEServer only includes a single Web Container today
(although I did see discussion on dev list about the ability to support
multiple containers concurrently ... not sure how that is done).
Do you intend for the WebManagers to manage more than just the Web
Container or is this to support the multiple container scenario in
which case I suppose the J2EEServer will need to change as well when
working directly with the containers.
(select Tomcat or Jetty WebManager to work with)
RequestLogManager log = ... managers[i].getRequestLog();
(do log stuff such as:
String[] logFiles = log.getLogFiles();
LogLine[] hits = log.searchLogs(logFile, start, end, maxRows, ...);
)
To get started, perhaps you could propose an interface for the
RequestLogManager or whatever we call it, and look at how we could
implement that for Tomcat and Jetty.
Thanks,
Aaron
On Wed, 31 Aug 2005, Joe Bohn wrote:
I was investigating what is necessary to get the log management portlet
in the console working for tomcat. It currently only works to display
the jetty web log.
As I was digging into this it is starting to get a little deeper than I
anticipated and would like some recommendations.
- The log portlet references a GBean object for the JettyRequestLog.
- I don't see an equivalent GBean in tomcat. Should I attempt to create
one and wrap the Tomcat web log in a GBean too?
--
Joe Bohn
joe.bohn@earthlink.net
"He is no fool who gives what he cannot keep, to gain what he cannot lose." -- Jim Elliot
--
Joe Bohn
joe.bohn@earthlink.net
"He is no fool who gives what he cannot keep, to gain what he cannot lose." -- Jim Elliot