Jorg Heymans wrote:
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

Reply via email to