You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by pn...@apache.org on 2003/02/28 13:50:08 UTC
cvs commit: jakarta-slide/src/webdav/server/org/apache/slide/webdav/filter LogFilter.java
pnever 2003/02/28 04:50:08
Modified: src/webdav/server/org/apache/slide/webdav/filter
LogFilter.java
Log:
Added date-time parameter and changed keys
Revision Changes Path
1.3 +64 -33 jakarta-slide/src/webdav/server/org/apache/slide/webdav/filter/LogFilter.java
Index: LogFilter.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/filter/LogFilter.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- LogFilter.java 17 Jan 2003 15:28:53 -0000 1.2
+++ LogFilter.java 28 Feb 2003 12:50:08 -0000 1.3
@@ -63,11 +63,14 @@
package org.apache.slide.webdav.filter;
-import java.io.File;
-import java.io.IOException;
import java.io.BufferedOutputStream;
+import java.io.File;
import java.io.FileOutputStream;
+import java.io.IOException;
import java.security.Principal;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
@@ -99,6 +102,21 @@
String outputFilePath = null;
File outputFile = null;
BufferedOutputStream fout = null;
+ DateFormat df;
+ String dateTimePattern = "dd-MMM-yyyy HH:mm:ss";
+
+ // log elements
+ String thread;
+ String datetime;
+ String method;
+ String uri;
+ String path;
+ int status;
+ String message;
+ String principal;
+ String detail;
+ String contentlength;
+
/**
* Interface implementation
@@ -111,6 +129,8 @@
public void init(FilterConfig config) throws ServletException {
this.config = config;
this.context = config.getServletContext();
+ this.df = new SimpleDateFormat( dateTimePattern );
+
// get the init parms
String p;
p = config.getInitParameter( "logFormat" );
@@ -147,13 +167,38 @@
* @throws ServletException
*
*/
- public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException {
- XHttpServletRequestFacade reqFac = new XHttpServletRequestFacade((HttpServletRequest)req);
- XHttpServletResponseFacade respFac = new XHttpServletResponseFacade((HttpServletResponse)resp);
+ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
+ XHttpServletRequestFacade req = new XHttpServletRequestFacade((HttpServletRequest)request);
+ XHttpServletResponseFacade resp = new XHttpServletResponseFacade((HttpServletResponse)response);
long b = System.currentTimeMillis();
- chain.doFilter( reqFac, respFac );
+
+ // incomming
+ thread = Thread.currentThread().getName();
+ datetime = df.format( new Date() );
+ method = req.getMethod();
+ uri = req.getRequestURI();
+ path = req.getServletPath();
+ if( "".equals(path) )
+ path = "/";
+ Principal p = req.getUserPrincipal();
+ principal = (p != null ? p.getName() : "");
+ contentlength = req.getHeader( "Content-Length" );
+ if( contentlength == null )
+ contentlength = "-";
+
+ // next please!
+ chain.doFilter( req, resp );
+
+ // way back
+ status = resp.getStatus();
+ message = WebdavStatus.getStatusText(status);
+ detail = resp.getStatusText();
+ if( detail == null || "".equals(detail) )
+ detail = message;
+
+
long a = System.currentTimeMillis();
- logLine( reqFac, respFac, (a-b) );
+ logLine( req, resp, (a-b) );
}
/**
@@ -167,28 +212,14 @@
*
*/
private void logLine( XHttpServletRequestFacade req, XHttpServletResponseFacade resp, long elapsed ) throws IOException {
- String thread = Thread.currentThread().getName();
- String method = req.getMethod();
- String uri = req.getRequestURI();
- String path = req.getServletPath();
- if( "".equals(path) )
- path = "/";
- int status = resp.getStatus();
- String message = WebdavStatus.getStatusText(status);
- Principal p = req.getUserPrincipal();
- String principal = (p != null ? p.getName() : "");
- String detail = resp.getStatusText();
- if( detail == null || "".equals(detail) )
- detail = message;
- String reqCl = req.getHeader( "Content-Length" );
- if( reqCl == null )
- reqCl = "-";
StringBuffer b = new StringBuffer( logFormat );
int i;
- i = b.toString().indexOf("%t");
+ i = b.toString().indexOf("%T");
if( i >= 0 ) b.replace( i, i+2, thread );
- i = b.toString().indexOf("%p");
+ i = b.toString().indexOf("%t");
+ if( i >= 0 ) b.replace( i, i+2, datetime );
+ i = b.toString().indexOf("%P");
if( i >= 0 ) b.replace( i, i+2, principal );
i = b.toString().indexOf("%m");
if( i >= 0 ) b.replace( i, i+2, method );
@@ -196,16 +227,16 @@
if( i >= 0 ) b.replace( i, i+2, String.valueOf(status) );
i = b.toString().indexOf("%l");
if( i >= 0 ) b.replace( i, i+2, message );
- i = b.toString().indexOf("%k");
+ i = b.toString().indexOf("%L");
if( i >= 0 ) b.replace( i, i+2, detail );
i = b.toString().indexOf("%i");
if( i >= 0 ) b.replace( i, i+2, String.valueOf(elapsed)+" ms" );
- i = b.toString().indexOf("%u");
+ i = b.toString().indexOf("%p");
if( i >= 0 ) b.replace( i, i+2, path );
- i = b.toString().indexOf("%v");
+ i = b.toString().indexOf("%u");
if( i >= 0 ) b.replace( i, i+2, uri );
i = b.toString().indexOf("%x");
- if( i >= 0 ) b.replace( i, i+2, reqCl );
+ if( i >= 0 ) b.replace( i, i+2, contentlength );
if( outputToConsole )
System.out.println( b.toString() );
---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org