Subversion Repositories svnkaklik

Rev

Details | Last modification | View Log

Rev Author Line No. Line
157 kaklik 1
/*
2
    AVRcamVIEW: A PC application to test out the functionallity of the
3
     AVRcam real-time image processing engine.
4
    Copyright (C) 2004    Brent A. Taylor
5
 
6
    This program is free software; you can redistribute it and/or
7
    modify it under the terms of the GNU General Public
8
    License as published by the Free Software Foundation; either
9
    version 2 of the License, or (at your option) any later version.
10
 
11
    This program is distributed in the hope that it will be useful,
12
    but WITHOUT ANY WARRANTY; without even the implied warranty of
13
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14
    General Public License for more details.
15
 
16
    You should have received a copy of the GNU General Public
17
    License along with this program; if not, write to the Free Software
18
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19
 
20
   For more information on the AVRcamVIEW, please contact:
21
 
22
   taylorba@comcast.net
23
 
24
   or go to www.jrobot.net for more details regarding the system.
25
*/
26
 
27
package avr.util;
28
 
29
import java.util.logging.*;
30
 
31
import avr.swing.table.*;
32
 
33
/***********************************************************************
34
 * Defines a Handler for the Log to publish the log records to a
35
 * Table Model.
36
 */
37
public class LogHandler extends Handler {
38
 
39
   /**
40
    * The Table Model to publish the log records to.
41
    */
42
   private LogTableModel model;
43
 
44
   /**
45
    * Create a Log Handler that will publish the log records to a
46
    * Table Model
47
    * @param model The table model to publish the log records to.
48
    * @param level The initial log level this handler will log.
49
    */
50
   public LogHandler(LogTableModel model, Level level) {
51
      super();
52
 
53
      setLevel(level);
54
 
55
      this.model = model;
56
   }
57
 
58
   /**
59
    * Publish the given record to the table model.
60
    * @param record The log record to publish.
61
    */
62
   public synchronized void publish(LogRecord record) {
63
 
64
      if(!isLoggable(record)) {
65
         return;
66
      }
67
 
68
      // pass the record to the table.
69
      model.addRecord(record);
70
 
71
   }
72
 
73
   /**
74
    * Flush the contents of this Handler.  Nothing is done here since
75
    * the record is automatically displayed in the table.
76
    */
77
   public void flush() {
78
      // nothing needs to be done here
79
   }
80
 
81
   /**
82
    * Releases any resources taken up by this Handler.  Nothing is done here
83
    * since there are no resources allocated.
84
    * @throws java.lang.SecurityException
85
    */
86
   public void close() throws java.lang.SecurityException {
87
      // nothing needs to be done here
88
   }
89
 
90
}