On 23.09.2012 14:56, Konstantin Kolinko wrote:
2012/9/23 <ma...@apache.org>:
Author: markt
Date: Sun Sep 23 11:37:48 2012
New Revision: 1389023
URL: http://svn.apache.org/viewvc?rev=1389023&view=rev
Log:
Review from rjung
Modified:
tomcat/trunk/java/org/apache/catalina/valves/AccessLogValve.java
Modified: tomcat/trunk/java/org/apache/catalina/valves/AccessLogValve.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/AccessLogValve.java?rev=1389023&r1=1389022&r2=1389023&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/valves/AccessLogValve.java (original)
+++ tomcat/trunk/java/org/apache/catalina/valves/AccessLogValve.java Sun Sep 23
11:37:48 2012
@@ -948,7 +948,7 @@ public class AccessLogValve extends Valv
log(result);
// TODO - Make this configurable
- if (result.length() < 256) {
+ if (result.length() <= maxLogMessageBufferSize) {
result.clear();
charBuffers.add(result);
}
@@ -1825,11 +1825,7 @@ public class AccessLogValve extends Valv
// second
buf.append(Long.toString(time / 1000));
buf.append('.');
- int remains = (int) (time % 1000);
- buf.append(Long.toString(remains / 100));
- remains = remains % 100;
- buf.append(Long.toString(remains / 10));
- buf.append(Long.toString(remains % 10));
+ buf.append(Long.toString(time % 1000));
The above change is plainly wrong. It loses leading zeros in the
fractional part.
E.g. it'll print 1060 msec as "1.60" sec (1600).
}
}
}
Oups, sorry for my misleading advice.
Will
// Format modulo 1000 and include leading zeroes
buf.append(Long.toString(time % 1000 + 10000).substring(1));
be still better than the original code? I think using a formatter is
overkill for this simple king of leading zero's formatting and calling
append plus Long.toString() three times might still be worse than an
additional substring() which needs to allocate a new String object but
will share the underlying char array.
Alternatively one could use an if-then-else chain depending on the size
of time%1000 and appending nothing, "0", "00" or "000" before appending
the Long.toString(time % 1000).
Regards,
Rainer
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org