Author: markt Date: Sat Jan 15 18:50:45 2011 New Revision: 1059388 URL: http://svn.apache.org/viewvc?rev=1059388&view=rev Log: Fix FindBugs warnings
Modified: tomcat/trunk/java/org/apache/catalina/valves/AccessLogValve.java tomcat/trunk/java/org/apache/catalina/valves/ExtendedAccessLogValve.java tomcat/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java tomcat/trunk/java/org/apache/catalina/valves/LocalStrings.properties 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=1059388&r1=1059387&r2=1059388&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/valves/AccessLogValve.java (original) +++ tomcat/trunk/java/org/apache/catalina/valves/AccessLogValve.java Sat Jan 15 18:50:45 2011 @@ -210,21 +210,21 @@ public class AccessLogValve extends Valv /** * The system timezone. */ - private TimeZone timezone = null; + private volatile TimeZone timezone = null; /** * The time zone offset relative to GMT in text form when daylight saving * is not in operation. */ - private String timeZoneNoDST = null; + private volatile String timeZoneNoDST = null; /** * The time zone offset relative to GMT in text form when daylight saving * is in operation. */ - private String timeZoneDST = null; + private volatile String timeZoneDST = null; /** @@ -518,7 +518,7 @@ public class AccessLogValve extends Valv * throwables will be caught and logged. */ @Override - public void backgroundProcess() { + public synchronized void backgroundProcess() { if (getState().isAvailable() && getEnabled() && writer != null && buffered) { writer.flush(); @@ -538,13 +538,13 @@ public class AccessLogValve extends Valv @Override public void invoke(Request request, Response response) throws IOException, ServletException { - final String t1Name = AccessLogValve.class.getName()+".t1"; if (getState().isAvailable() && getEnabled()) { + final String t1Name = AccessLogValve.class.getName()+".t1"; // Pass this request on to the next valve in our pipeline long t1 = System.currentTimeMillis(); boolean asyncdispatch = request.isAsyncDispatching(); if (!asyncdispatch) { - request.setAttribute(t1Name, new Long(t1)); + request.setAttribute(t1Name, Long.valueOf(t1)); } getNext().invoke(request, response); @@ -601,7 +601,7 @@ public class AccessLogValve extends Valv holder.renameTo(new File(newFileName)); } catch (Throwable e) { ExceptionUtils.handleThrowable(e); - log.error("rotate failed", e); + log.error(sm.getString("accessLogValve.rotateFail"), e); } /* Make sure date is correct */ @@ -672,7 +672,7 @@ public class AccessLogValve extends Valv close(); } catch (Throwable e) { ExceptionUtils.handleThrowable(e); - log.info("at least this wasn't swallowed", e); + log.info(sm.getString("accessLogValve.closeFail"), e); } /* Make sure date is correct */ @@ -723,7 +723,11 @@ public class AccessLogValve extends Valv File dir = new File(directory); if (!dir.isAbsolute()) dir = new File(System.getProperty(Globals.CATALINA_BASE_PROP), directory); - dir.mkdirs(); + if (!dir.exists()) { + if (!dir.mkdirs()) { + log.error(sm.getString("accessLogValve.openDirFail", dir)); + } + } // Open the current log file try { @@ -811,15 +815,19 @@ public class AccessLogValve extends Valv protected synchronized void startInternal() throws LifecycleException { // Initialize the timeZone, Date formatters, and currentDate - timezone = TimeZone.getDefault(); - timeZoneNoDST = calculateTimeZoneOffset(timezone.getRawOffset()); - int offset = timezone.getDSTSavings(); - timeZoneDST = calculateTimeZoneOffset(timezone.getRawOffset() + offset); - - if (fileDateFormat == null || fileDateFormat.length() == 0) - fileDateFormat = "yyyy-MM-dd"; - fileDateFormatter = new SimpleDateFormat(fileDateFormat); - fileDateFormatter.setTimeZone(timezone); + TimeZone tz = TimeZone.getDefault(); + timezone = tz; + timeZoneNoDST = calculateTimeZoneOffset(tz.getRawOffset()); + int offset = tz.getDSTSavings(); + timeZoneDST = calculateTimeZoneOffset(tz.getRawOffset() + offset); + + String format = getFileDateFormat(); + if (format == null || format.length() == 0) { + format = "yyyy-MM-dd"; + setFileDateFormat(format); + } + fileDateFormatter = new SimpleDateFormat(format); + fileDateFormatter.setTimeZone(tz); dateStamp = fileDateFormatter.format(currentDateStruct.get().currentDate); open(); @@ -853,7 +861,7 @@ public class AccessLogValve extends Valv /** * write thread name - %I */ - protected class ThreadNameElement implements AccessLogElement { + protected static class ThreadNameElement implements AccessLogElement { @Override public void addElement(StringBuilder buf, Date date, Request request, Response response, long time) { @@ -894,7 +902,7 @@ public class AccessLogValve extends Valv /** * write remote IP address - %a */ - protected class RemoteAddrElement implements AccessLogElement { + protected static class RemoteAddrElement implements AccessLogElement { @Override public void addElement(StringBuilder buf, Date date, Request request, Response response, long time) { @@ -905,7 +913,7 @@ public class AccessLogValve extends Valv /** * write remote host name - %h */ - protected class HostElement implements AccessLogElement { + protected static class HostElement implements AccessLogElement { @Override public void addElement(StringBuilder buf, Date date, Request request, Response response, long time) { @@ -916,7 +924,7 @@ public class AccessLogValve extends Valv /** * write remote logical username from identd (always returns '-') - %l */ - protected class LogicalUserNameElement implements AccessLogElement { + protected static class LogicalUserNameElement implements AccessLogElement { @Override public void addElement(StringBuilder buf, Date date, Request request, Response response, long time) { @@ -927,7 +935,7 @@ public class AccessLogValve extends Valv /** * write request protocol - %H */ - protected class ProtocolElement implements AccessLogElement { + protected static class ProtocolElement implements AccessLogElement { @Override public void addElement(StringBuilder buf, Date date, Request request, Response response, long time) { @@ -938,7 +946,7 @@ public class AccessLogValve extends Valv /** * write remote user that was authenticated (if any), else '-' - %u */ - protected class UserElement implements AccessLogElement { + protected static class UserElement implements AccessLogElement { @Override public void addElement(StringBuilder buf, Date date, Request request, Response response, long time) { @@ -987,7 +995,7 @@ public class AccessLogValve extends Valv /** * write first line of the request (method and request URI) - %r */ - protected class RequestElement implements AccessLogElement { + protected static class RequestElement implements AccessLogElement { @Override public void addElement(StringBuilder buf, Date date, Request request, Response response, long time) { @@ -1010,7 +1018,7 @@ public class AccessLogValve extends Valv /** * write HTTP status code of the response - %s */ - protected class HttpStatusCodeElement implements AccessLogElement { + protected static class HttpStatusCodeElement implements AccessLogElement { @Override public void addElement(StringBuilder buf, Date date, Request request, Response response, long time) { @@ -1025,7 +1033,7 @@ public class AccessLogValve extends Valv /** * write local port on which this request was received - %p */ - protected class LocalPortElement implements AccessLogElement { + protected static class LocalPortElement implements AccessLogElement { @Override public void addElement(StringBuilder buf, Date date, Request request, Response response, long time) { @@ -1036,7 +1044,7 @@ public class AccessLogValve extends Valv /** * write bytes sent, excluding HTTP headers - %b, %B */ - protected class ByteSentElement implements AccessLogElement { + protected static class ByteSentElement implements AccessLogElement { private boolean conversion; /** @@ -1061,7 +1069,7 @@ public class AccessLogValve extends Valv /** * write request method (GET, POST, etc.) - %m */ - protected class MethodElement implements AccessLogElement { + protected static class MethodElement implements AccessLogElement { @Override public void addElement(StringBuilder buf, Date date, Request request, Response response, long time) { @@ -1074,7 +1082,7 @@ public class AccessLogValve extends Valv /** * write time taken to process the request - %D, %T */ - protected class ElapsedTimeElement implements AccessLogElement { + protected static class ElapsedTimeElement implements AccessLogElement { private boolean millis; /** @@ -1106,7 +1114,7 @@ public class AccessLogValve extends Valv /** * write Query string (prepended with a '?' if it exists) - %q */ - protected class QueryElement implements AccessLogElement { + protected static class QueryElement implements AccessLogElement { @Override public void addElement(StringBuilder buf, Date date, Request request, Response response, long time) { @@ -1123,7 +1131,7 @@ public class AccessLogValve extends Valv /** * write user session ID - %S */ - protected class SessionIdElement implements AccessLogElement { + protected static class SessionIdElement implements AccessLogElement { @Override public void addElement(StringBuilder buf, Date date, Request request, Response response, long time) { @@ -1143,7 +1151,7 @@ public class AccessLogValve extends Valv /** * write requested URL path - %U */ - protected class RequestURIElement implements AccessLogElement { + protected static class RequestURIElement implements AccessLogElement { @Override public void addElement(StringBuilder buf, Date date, Request request, Response response, long time) { @@ -1158,7 +1166,7 @@ public class AccessLogValve extends Valv /** * write local server name - %v */ - protected class LocalServerNameElement implements AccessLogElement { + protected static class LocalServerNameElement implements AccessLogElement { @Override public void addElement(StringBuilder buf, Date date, Request request, Response response, long time) { @@ -1169,7 +1177,7 @@ public class AccessLogValve extends Valv /** * write any string */ - protected class StringElement implements AccessLogElement { + protected static class StringElement implements AccessLogElement { private String str; public StringElement(String str) { @@ -1186,7 +1194,7 @@ public class AccessLogValve extends Valv /** * write incoming headers - %{xxx}i */ - protected class HeaderElement implements AccessLogElement { + protected static class HeaderElement implements AccessLogElement { private String header; public HeaderElement(String header) { @@ -1208,7 +1216,7 @@ public class AccessLogValve extends Valv /** * write a specific cookie - %{xxx}c */ - protected class CookieElement implements AccessLogElement { + protected static class CookieElement implements AccessLogElement { private String header; public CookieElement(String header) { @@ -1235,7 +1243,7 @@ public class AccessLogValve extends Valv /** * write a specific response header - %{xxx}o */ - protected class ResponseHeaderElement implements AccessLogElement { + protected static class ResponseHeaderElement implements AccessLogElement { private String header; public ResponseHeaderElement(String header) { @@ -1263,7 +1271,7 @@ public class AccessLogValve extends Valv /** * write an attribute in the ServletRequest - %{xxx}r */ - protected class RequestAttributeElement implements AccessLogElement { + protected static class RequestAttributeElement implements AccessLogElement { private String header; public RequestAttributeElement(String header) { @@ -1294,7 +1302,7 @@ public class AccessLogValve extends Valv /** * write an attribute in the HttpSession - %{xxx}s */ - protected class SessionAttributeElement implements AccessLogElement { + protected static class SessionAttributeElement implements AccessLogElement { private String header; public SessionAttributeElement(String header) { Modified: tomcat/trunk/java/org/apache/catalina/valves/ExtendedAccessLogValve.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/ExtendedAccessLogValve.java?rev=1059388&r1=1059387&r2=1059388&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/valves/ExtendedAccessLogValve.java (original) +++ tomcat/trunk/java/org/apache/catalina/valves/ExtendedAccessLogValve.java Sat Jan 15 18:50:45 2011 @@ -425,7 +425,7 @@ public class ExtendedAccessLogValve exte } } - protected class PatternTokenizer { + protected static class PatternTokenizer { private StringReader sr = null; private StringBuilder buf = new StringBuilder(); private boolean ended = false; @@ -727,7 +727,7 @@ public class ExtendedAccessLogValve exte throws IOException { String token = null; if (tokenizer.hasSubToken()) { - token = tokenizer.getToken(); + tokenizer.getToken(); return new StringElement("-"); } else if (tokenizer.hasParameter()) { tokenizer.getParameter(); Modified: tomcat/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java?rev=1059388&r1=1059387&r2=1059388&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java (original) +++ tomcat/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java Sat Jan 15 18:50:45 2011 @@ -465,7 +465,8 @@ public final class JDBCAccessLogValve ex String method = EMPTY; String referer = EMPTY; String userAgent = EMPTY; - if (pattern.equals("combined")) { + String logPattern = pattern; + if (logPattern.equals("combined")) { virtualHost = request.getServerName(); method = request.getMethod(); referer = request.getHeader("referer"); @@ -490,7 +491,7 @@ public final class JDBCAccessLogValve ex bytes = -1 ; ps.setInt(6, (int) bytes); } - if (pattern.equals("combined")) { + if (logPattern.equals("combined")) { ps.setString(7, virtualHost); ps.setString(8, method); ps.setString(9, referer); @@ -545,14 +546,15 @@ public final class JDBCAccessLogValve ex props.put("password", connectionPassword); conn = driver.connect(connectionURL, props); conn.setAutoCommit(true); - if (pattern.equals("common")) { + String logPattern = pattern; + if (logPattern.equals("common")) { ps = conn.prepareStatement ("INSERT INTO " + tableName + " (" + remoteHostField + ", " + userField + ", " + timestampField +", " + queryField + ", " + statusField + ", " + bytesField + ") VALUES(?, ?, ?, ?, ?, ?)"); - } else if (pattern.equals("combined")) { + } else if (logPattern.equals("combined")) { ps = conn.prepareStatement ("INSERT INTO " + tableName + " (" + remoteHostField + ", " + userField + ", " Modified: tomcat/trunk/java/org/apache/catalina/valves/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/LocalStrings.properties?rev=1059388&r1=1059387&r2=1059388&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/valves/LocalStrings.properties (original) +++ tomcat/trunk/java/org/apache/catalina/valves/LocalStrings.properties Sat Jan 15 18:50:45 2011 @@ -21,6 +21,11 @@ jdbcAccessLogValve.close=Exception closi cometConnectionManagerValve.event=Exception processing event cometConnectionManagerValve.listenerEvent=Exception processing session listener event +# Access log valve +accessLogValve.closeFail=Failed to close log file +accessLogValve.openDirFail=Failed to create directory [{0}] for access logs +accessLogValve.rotateFail=Failed to rotate access log + # Error report valve errorReportValve.errorReport=Error report errorReportValve.statusHeader=HTTP Status {0} - {1} --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org