Most people will agree that the most useful information ever to appear in core.log is the bit where it writes out all request parameters, request headers and session information.
No, I won't :-)
This data gets written there because the cocoon component is configured by default with a catchall logger named "core" in web.xml (param is called cocoon-logger).
-----(from web.xml)
This logger is used for all components described in the cocoon.xconf and sitemap.xmap file not having specified a logger with the logger="..." attribute in the component configuration file.
-----
If i now want to "filter" core.log and display only the useful bits described above, i need to basically define all the components that don't declare a logger with a logging level higher than DEBUG. In addition i need to define all childLoggers of the "core" logger with a logging level higher than DEBUG.
I find this rather tedious.
Possible solutions
1) Configure the cocoon component with it's own logging category eg core.cocoon or cocoon.core, keeping the cocoon-logger parameter somehow as catchall logger
This makes sense to me, so now Cocoon object will have own sub category.
2) Changing line 568 in Cocoon.java from getLogger().debug(msg.toString()); to getLogger().info(msg.toString());
No, this does not make sense. It's debug information, so it should stay at debug level.
Note2: Are the logging conventions being revised for 2.2? Is it still useful to keep the current separation of logfiles?
Defaults has been changed for 2.2, yes. I had synced those to 2.1 branch as well - so many log files in default configuration do not make sense.
(Will there be something like per-block logging?)
If you want - you can always do this. In your own configuration.
Vadim
