Hi,

2015-03-30 10:27 GMT+03:00 Polina Genova <[email protected]>:
>
> Hi,
>
>
>
> Recently I came across an issue with excessive number of blocks of blank
> lines being logged in the catalina output logs.
>
> This is easily reproducible by simply starting a clean Tomcat 7.0.59
server
> with enabled the following logger configuration
>
> org.apache.tomcat.util.digester.Digester.level = FINEST
>
> The result is enormous catalina log file containing plenty of logs like
the
> following:
>
> --------------------------------------------------------------
>
> Mar 26, 2015 6:12:48 PM org.apache.tomcat.util.digester.Digester
> startElement
>
> FINE:   Pushing body text '
>
>
>
>
>
>
>
>   '
>
> Mar 26, 2015 6:12:48 PM org.apache.tomcat.util.digester.Digester
endElement
>
> FINE:   Popping body text '
>
>
>
>
>
>
>
>   '
>
> --------------------------------------------------------------
>
> The number of empty lines increases up to hundreds in a single log
message.
>
> Actually this depends on the number of new lines being accumulated so far
> for the surrounding xml element of the currently processed one.
>
> For example when processing the default global server.xml, on invocation
of
> the startElement and stopElement of each inner element
>
> the surrounding ‘Server’ element’s accumulated body is being logged and it
> consists only of new lines, i.e. no meaningful content.
>
> As the logged information can bring such a large blocks of empty lines and
> no valuable information, I’d like to propose these debug messages to be
> removed.
>
> Can you think of a specific reason to preserve them?
>

I checked that and I think that the log messages can be removed as they do
not give any valuable information, only empty rows in the log.

Regards,
Violeta

>
> Here’s a patch:
>
> --- Digester.java               (revision 1669608)
>
> +++ Digester.java            (working copy)
>
> @@ -1047,9 +1047,6 @@
>
>
>
>          // Recover the body text from the surrounding element
>
>          bodyText = bodyTexts.pop();
>
> -        if (debug) {
>
> -            log.debug("  Popping body text '" + bodyText.toString() +
"'");
>
> -        }
>
>
>
>          // Fire "end" events for all relevant rules in reverse order
>
>          if (rules != null) {
>
> @@ -1252,9 +1249,7 @@
>
>
>
>          // Save the body text accumulated for our surrounding element
>
>          bodyTexts.push(bodyText);
>
> -        if (debug) {
>
> -            log.debug("  Pushing body text '" + bodyText.toString() +
"'");
>
> -        }
>
>
>
> On a closer look of the Digester class, it seems that the whole structure
> of previously accumulated bodyTexts could be removed, for the bodyText
> values being pushed and popped from it
>
> are used only in the mentioned debug messages.
>
> So what do you think is the better approach?
>
>
>
> Thanks and regards,
>
> Polina

Reply via email to