@@ -43,29 +43,20 @@ public void doFilter(ServletRequest request, ServletResponse response, FilterCha
4343 throws IOException , ServletException {
4444
4545 if (active && request instanceof HttpServletRequest ) {
46- try {
47- TeeHttpServletRequest teeRequest = new TeeHttpServletRequest ((HttpServletRequest ) request );
48- TeeHttpServletResponse teeResponse = new TeeHttpServletResponse ((HttpServletResponse ) response );
46+ TeeHttpServletRequest teeRequest = new TeeHttpServletRequest ((HttpServletRequest ) request );
47+ TeeHttpServletResponse teeResponse = new TeeHttpServletResponse ((HttpServletResponse ) response );
4948
50- // System.out.println("BEFORE TeeFilter. filterChain.doFilter()");
49+ try {
5150 filterChain .doFilter (teeRequest , teeResponse );
52- // System.out.println("AFTER TeeFilter. filterChain.doFilter()");
53-
51+ } finally {
5452 teeResponse .finish ();
5553 // let the output contents be available for later use by
5654 // logback-access-logging
5755 teeRequest .setAttribute (AccessConstants .LB_OUTPUT_BUFFER , teeResponse .getOutputBuffer ());
58- } catch (IOException e ) {
59- e .printStackTrace ();
60- throw e ;
61- } catch (ServletException e ) {
62- e .printStackTrace ();
63- throw e ;
6456 }
6557 } else {
6658 filterChain .doFilter (request , response );
6759 }
68-
6960 }
7061
7162 @ Override
@@ -76,9 +67,9 @@ public void init(FilterConfig filterConfig) throws ServletException {
7667
7768 active = computeActivation (localhostName , includeListAsStr , excludeListAsStr );
7869 if (active )
79- System . out . println ("TeeFilter will be ACTIVE on this host [" + localhostName + "]" );
70+ logInfo ("TeeFilter will be ACTIVE on this host [" + localhostName + "]" );
8071 else
81- System . out . println ("TeeFilter will be DISABLED on this host [" + localhostName + "]" );
72+ logInfo ("TeeFilter will be DISABLED on this host [" + localhostName + "]" );
8273
8374 }
8475
@@ -101,13 +92,13 @@ public static List<String> extractNameList(String nameListAsStr) {
10192 return nameList ;
10293 }
10394
104- static String getLocalhostName () {
95+ String getLocalhostName () {
10596 String hostname = "127.0.0.1" ;
10697
10798 try {
10899 hostname = InetAddress .getLocalHost ().getHostName ();
109100 } catch (UnknownHostException uhe ) {
110- uhe . printStackTrace ( );
101+ logWarn ( "Unknown host" , uhe );
111102 }
112103 return hostname ;
113104 }
@@ -132,4 +123,26 @@ static boolean mathesExcludesList(String hostname, List<String> excludesList) {
132123 return excludesList .contains (hostname );
133124 }
134125
126+ /**
127+ * Log a warning.
128+ *
129+ * Can be overwritten to use a logger.
130+ *
131+ * @param msg The message.
132+ * @param ex The exception.
133+ */
134+ protected void logWarn (String msg , Throwable ex ) {
135+ System .err .println (msg + ": " + ex );
136+ }
137+
138+ /**
139+ * Log an info message.
140+ *
141+ * Can be overwritten to use a logger.
142+ *
143+ * @param msg The message to log.
144+ */
145+ protected void logInfo (String msg ) {
146+ System .out .println (msg );
147+ }
135148}
0 commit comments