}
Date date = getDate();
- StringBuffer result = new StringBuffer(128);
+ StringBuilder result = new StringBuilder(128);
for (int i = 0; i < logElements.length; i++) {
logElements[i].addElement(result, date, request, response, time);
private String calculateTimeZoneOffset(long offset) {
- StringBuffer tz = new StringBuffer();
+ StringBuilder tz = new StringBuilder();
if ((offset < 0)) {
tz.append("-");
offset = -offset;
* AccessLogElement writes the partial message into the buffer.
*/
protected interface AccessLogElement {
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time);
}
* write thread name - %I
*/
protected class ThreadNameElement implements AccessLogElement {
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
RequestInfo info = request.getCoyoteRequest().getRequestProcessor();
if(info != null) {
LOCAL_ADDR_VALUE = init;
}
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
buf.append(LOCAL_ADDR_VALUE);
}
* write remote IP address - %a
*/
protected class RemoteAddrElement implements AccessLogElement {
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
buf.append(request.getRemoteAddr());
}
* write remote host name - %h
*/
protected class HostElement implements AccessLogElement {
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
buf.append(request.getRemoteHost());
}
* write remote logical username from identd (always returns '-') - %l
*/
protected class LogicalUserNameElement implements AccessLogElement {
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
buf.append('-');
}
* write request protocol - %H
*/
protected class ProtocolElement implements AccessLogElement {
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
buf.append(request.getProtocol());
}
* write remote user that was authenticated (if any), else '-' - %u
*/
protected class UserElement implements AccessLogElement {
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
if (request != null) {
String value = request.getRemoteUser();
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
AccessDateStruct struct = currentDateStruct.get();
if (struct.currentDateString == null) {
- StringBuffer current = new StringBuffer(32);
+ StringBuilder current = new StringBuilder(32);
current.append('[');
current.append(struct.dayFormatter.format(date));
current.append('/');
* write first line of the request (method and request URI) - %r
*/
protected class RequestElement implements AccessLogElement {
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
if (request != null) {
buf.append(request.getMethod());
* write HTTP status code of the response - %s
*/
protected class HttpStatusCodeElement implements AccessLogElement {
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
if (response != null) {
buf.append(response.getStatus());
* write local port on which this request was received - %p
*/
protected class LocalPortElement implements AccessLogElement {
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
buf.append(request.getServerPort());
}
this.conversion = conversion;
}
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
long length = response.getContentCountLong() ;
if (length <= 0 && conversion) {
* write request method (GET, POST, etc.) - %m
*/
protected class MethodElement implements AccessLogElement {
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
if (request != null) {
buf.append(request.getMethod());
this.millis = millis;
}
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
if (millis) {
buf.append(time);
* write Query string (prepended with a '?' if it exists) - %q
*/
protected class QueryElement implements AccessLogElement {
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
String query = null;
if (request != null)
* write user session ID - %S
*/
protected class SessionIdElement implements AccessLogElement {
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
if (request != null) {
if (request.getSession(false) != null) {
* write requested URL path - %U
*/
protected class RequestURIElement implements AccessLogElement {
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
if (request != null) {
buf.append(request.getRequestURI());
* write local server name - %v
*/
protected class LocalServerNameElement implements AccessLogElement {
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
buf.append(request.getServerName());
}
this.str = str;
}
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
buf.append(str);
}
this.header = header;
}
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
String value = request.getHeader(header);
if (value == null) {
this.header = header;
}
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
String value = "-";
Cookie[] c = request.getCookies();
this.header = header;
}
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
if (null != response) {
Iterator<String> iter = response.getHeaders(header).iterator();
this.header = header;
}
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
Object value = null;
if (request != null) {
this.header = header;
}
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
Object value = null;
if (null != request) {
protected AccessLogElement[] createLogElements() {
List<AccessLogElement> list = new ArrayList<AccessLogElement>();
boolean replace = false;
- StringBuffer buf = new StringBuffer();
+ StringBuilder buf = new StringBuilder();
for (int i = 0; i < pattern.length(); i++) {
char ch = pattern.charAt(i);
if (replace) {
* not enounter a closing } - then I ignore the {
*/
if ('{' == ch) {
- StringBuffer name = new StringBuffer();
+ StringBuilder name = new StringBuilder();
int j = i + 1;
for (; j < pattern.length() && '}' != pattern.charAt(j); j++) {
name.append(pattern.charAt(j));
} else if (ch == '%') {
replace = true;
list.add(new StringElement(buf.toString()));
- buf = new StringBuffer();
+ buf = new StringBuilder();
} else {
buf.append(ch);
}
if (report == null)
return;
- StringBuffer sb = new StringBuffer();
+ StringBuilder sb = new StringBuilder();
sb.append("<html><head><title>");
sb.append(ServerInfo.getServerInfo()).append(" - ");
* occurrence of javax.servlet.).
*/
protected String getPartialServletStackTrace(Throwable t) {
- StringBuffer trace = new StringBuffer();
+ StringBuilder trace = new StringBuilder();
trace.append(t.toString()).append('\n');
StackTraceElement[] elements = t.getStackTrace();
int pos = elements.length;
}
/* Wrap all quotes in double quotes. */
- StringBuffer buffer = new StringBuffer(svalue.length() + 2);
+ StringBuilder buffer = new StringBuilder(svalue.length() + 2);
buffer.append('\'');
int i = 0;
while (i < svalue.length()) {
}
};
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
ElementTimestampStruct eds = currentDate.get();
long millis = eds.currentTimestamp.getTime();
}
};
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
ElementTimestampStruct eds = currentTime.get();
long millis = eds.currentTimestamp.getTime();
public RequestHeaderElement(String header) {
this.header = header;
}
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
buf.append(wrap(request.getHeader(header)));
}
this.header = header;
}
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
buf.append(wrap(response.getHeader(header)));
}
public ServletContextElement(String attribute) {
this.attribute = attribute;
}
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
buf.append(wrap(request.getContext().getServletContext()
.getAttribute(attribute)));
public CookieElement(String name) {
this.name = name;
}
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
Cookie[] c = request.getCookies();
for (int i = 0; c != null && i < c.length; i++) {
this.header = header;
}
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
if (null != response) {
Iterator<String> iter = response.getHeaders(header).iterator();
if (iter.hasNext()) {
- StringBuffer buffer = new StringBuffer();
+ StringBuilder buffer = new StringBuilder();
boolean first = true;
while (iter.hasNext()) {
if (!first) {
this.attribute = attribute;
}
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
buf.append(wrap(request.getAttribute(attribute)));
}
public SessionAttributeElement(String attribute) {
this.attribute = attribute;
}
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
HttpSession session = null;
if (request != null) {
return URLEncoder.encode(value);
}
- public void addElement(StringBuffer buf, Date date, Request request,
+ public void addElement(StringBuilder buf, Date date, Request request,
Response response, long time) {
buf.append(wrap(urlEncode(request.getParameter(parameter))));
}
protected class PatternTokenizer {
private StringReader sr = null;
- private StringBuffer buf = new StringBuffer();
+ private StringBuilder buf = new StringBuilder();
private boolean ended = false;
private boolean subToken;
private boolean parameter;
switch (c) {
case ' ':
result = buf.toString();
- buf = new StringBuffer();
+ buf = new StringBuilder();
buf.append((char) c);
return result;
case '-':
result = buf.toString();
- buf = new StringBuffer();
+ buf = new StringBuilder();
subToken = true;
return result;
case '(':
result = buf.toString();
- buf = new StringBuffer();
+ buf = new StringBuilder();
parameter = true;
return result;
case ')':
result = buf.toString();
- buf = new StringBuffer();
+ buf = new StringBuilder();
break;
default:
buf.append((char) c);
while (c != -1) {
if (c == ')') {
result = buf.toString();
- buf = new StringBuffer();
+ buf = new StringBuilder();
return result;
}
buf.append((char) c);
public String getWhiteSpaces() throws IOException {
if(isEnded())
return "" ;
- StringBuffer whiteSpaces = new StringBuffer();
+ StringBuilder whiteSpaces = new StringBuilder();
if (buf.length() > 0) {
whiteSpaces.append(buf);
- buf = new StringBuffer();
+ buf = new StringBuilder();
}
int c = sr.read();
while (Character.isWhitespace((char) c)) {
}
public String getRemains() throws IOException {
- StringBuffer remains = new StringBuffer();
+ StringBuilder remains = new StringBuilder();
for(int c = sr.read(); c != -1; c = sr.read()) {
remains.append((char) c);
}
return new LocalAddrElement();
} else if ("dns".equals(nextToken)) {
return new AccessLogElement() {
- public void addElement(StringBuffer buf, Date date,
+ public void addElement(StringBuilder buf, Date date,
Request request, Response response, long time) {
String value;
try {
return new RequestURIElement();
} else if ("query".equals(token)) {
return new AccessLogElement() {
- public void addElement(StringBuffer buf, Date date,
+ public void addElement(StringBuilder buf, Date date,
Request request, Response response,
long time) {
String query = request.getQueryString();
}
} else {
return new AccessLogElement() {
- public void addElement(StringBuffer buf, Date date,
+ public void addElement(StringBuilder buf, Date date,
Request request, Response response, long time) {
String query = request.getQueryString();
if (query == null) {
protected AccessLogElement getServletRequestElement(String parameter) {
if ("authType".equals(parameter)) {
return new AccessLogElement() {
- public void addElement(StringBuffer buf, Date date,
+ public void addElement(StringBuilder buf, Date date,
Request request, Response response, long time) {
buf.append(wrap(request.getAuthType()));
}
};
} else if ("remoteUser".equals(parameter)) {
return new AccessLogElement() {
- public void addElement(StringBuffer buf, Date date,
+ public void addElement(StringBuilder buf, Date date,
Request request, Response response, long time) {
buf.append(wrap(request.getRemoteUser()));
}
};
} else if ("requestedSessionId".equals(parameter)) {
return new AccessLogElement() {
- public void addElement(StringBuffer buf, Date date,
+ public void addElement(StringBuilder buf, Date date,
Request request, Response response, long time) {
buf.append(wrap(request.getRequestedSessionId()));
}
};
} else if ("requestedSessionIdFromCookie".equals(parameter)) {
return new AccessLogElement() {
- public void addElement(StringBuffer buf, Date date,
+ public void addElement(StringBuilder buf, Date date,
Request request, Response response, long time) {
buf.append(wrap(""
+ request.isRequestedSessionIdFromCookie()));
};
} else if ("requestedSessionIdValid".equals(parameter)) {
return new AccessLogElement() {
- public void addElement(StringBuffer buf, Date date,
+ public void addElement(StringBuilder buf, Date date,
Request request, Response response, long time) {
buf.append(wrap("" + request.isRequestedSessionIdValid()));
}
};
} else if ("contentLength".equals(parameter)) {
return new AccessLogElement() {
- public void addElement(StringBuffer buf, Date date,
+ public void addElement(StringBuilder buf, Date date,
Request request, Response response, long time) {
buf.append(wrap("" + request.getContentLength()));
}
};
} else if ("characterEncoding".equals(parameter)) {
return new AccessLogElement() {
- public void addElement(StringBuffer buf, Date date,
+ public void addElement(StringBuilder buf, Date date,
Request request, Response response, long time) {
buf.append(wrap(request.getCharacterEncoding()));
}
};
} else if ("locale".equals(parameter)) {
return new AccessLogElement() {
- public void addElement(StringBuffer buf, Date date,
+ public void addElement(StringBuilder buf, Date date,
Request request, Response response, long time) {
buf.append(wrap(request.getLocale()));
}
};
} else if ("protocol".equals(parameter)) {
return new AccessLogElement() {
- public void addElement(StringBuffer buf, Date date,
+ public void addElement(StringBuilder buf, Date date,
Request request, Response response, long time) {
buf.append(wrap(request.getProtocol()));
}
};
} else if ("scheme".equals(parameter)) {
return new AccessLogElement() {
- public void addElement(StringBuffer buf, Date date,
+ public void addElement(StringBuilder buf, Date date,
Request request, Response response, long time) {
buf.append(request.getScheme());
}
};
} else if ("secure".equals(parameter)) {
return new AccessLogElement() {
- public void addElement(StringBuffer buf, Date date,
+ public void addElement(StringBuilder buf, Date date,
Request request, Response response, long time) {
buf.append(wrap("" + request.isSecure()));
}
* Return a String rendering of this object.
*/
public String toString() {
- StringBuffer sb = new StringBuffer(this.getClass().getName());
+ StringBuilder sb = new StringBuilder(this.getClass().getName());
sb.append("[");
if (container != null)
sb.append(container.getName());