Logs: Rotation, Management & External Applications
I have a couple of requests to improve log management.
My first request is pretty simple. Presently, there's no way to stop the server from rotating its error log when LiteSpeed restarts (presumably to give a clean copy to the Web UI). Could you please add an option (Yes/No - Rotate Log on Restart?) to disable this behaviour? It would make it consistent with virtual host error logs and easier to manage with log management tools like logrotate.
Also, presently there's no way to manage external application errors. PHP LSAPI errors go to the server error log but Ruby LSAPI errors go to stderr. I can't make them go to one log or to a virtual host's error log. This is especially important in a shared hosting environment, because the site admin (me, in this case) needs to get involved in each company's debugging woes. I have two possible solutions for this.
The first is to change the current behaviour so that errors from an external application also go to any virtual host which uses it as a script handler or in a context. By adding the errors to a virtual host log instead of the server, site admins don't need to be involved in debugging and the client has one file of errors (for both the host and its applications).
The second, and the more interesting (I think), is to add logging options to external applications themselves. By separating applications from hosts just as hosts are from the server, you isolate errors to a single file, simplify the debugging process for clients, and simplify permission schemes for site admins. The interface could be very basic (defaults to server error log or write to its own file) or more complex (server, its own file, 'associated vhosts', or selected vhosts).
I think quite a few people, especially the Ruby on Rails community, would enjoy these two additions.
Anyway, please keep up the good work, chaps. I like the new interface for the 3.0 beta and the quick turnaround of fixes lately. It's a pleasure to upgrade LiteSpeed and find it more stable and usable each time.
- Mathew Abonyi