01: /*
02: * regain - A file search engine providing plenty of formats
03: * Copyright (C) 2004 Til Schneider
04: *
05: * This library is free software; you can redistribute it and/or
06: * modify it under the terms of the GNU Lesser General Public
07: * License as published by the Free Software Foundation; either
08: * version 2.1 of the License, or (at your option) any later version.
09: *
10: * This library is distributed in the hope that it will be useful,
11: * but WITHOUT ANY WARRANTY; without even the implied warranty of
12: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13: * Lesser General Public License for more details.
14: *
15: * You should have received a copy of the GNU Lesser General Public
16: * License along with this library; if not, write to the Free Software
17: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18: *
19: * Contact: Til Schneider, info@murfman.de
20: *
21: * CVS information:
22: * $RCSfile$
23: * $Source$
24: * $Date: 2006-01-22 13:08:20 +0100 (So, 22 Jan 2006) $
25: * $Author: til132 $
26: * $Revision: 199 $
27: */
28: package net.sf.regain.ui.desktop.status.sharedlib;
29:
30: import net.sf.regain.RegainException;
31: import net.sf.regain.util.io.MemoryAppender;
32: import net.sf.regain.util.sharedtag.PageRequest;
33: import net.sf.regain.util.sharedtag.PageResponse;
34: import net.sf.regain.util.sharedtag.SharedTag;
35:
36: import org.apache.log4j.Appender;
37: import org.apache.log4j.Logger;
38:
39: /**
40: * Writes the last log messages.
41: *
42: * @author Til Schneider, www.murfman.de
43: */
44: public class LogTag extends SharedTag {
45:
46: /** The memory appender that holds the last log messages. */
47: private static MemoryAppender mMemoryAppender;
48:
49: /**
50: * Called when the parser reaches the end tag.
51: *
52: * @param request The page request.
53: * @param response The page response.
54: * @throws RegainException If there was an exception.
55: */
56: public void printEndTag(PageRequest request, PageResponse response)
57: throws RegainException {
58: if (mMemoryAppender == null) {
59: Appender app = (MemoryAppender) Logger.getRootLogger()
60: .getAppender("memory");
61: if (app instanceof MemoryAppender) {
62: mMemoryAppender = (MemoryAppender) app;
63: } else {
64: response
65: .print("No MemoryAppender with the name 'memory' configured!");
66: return;
67: }
68: }
69:
70: mMemoryAppender.printLog(response);
71: }
72:
73: }
|