ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/server/uk/org/iscream/cms/server/core/LoggerServant.java
Revision: 1.14
Committed: Sun Aug 1 10:40:54 2004 UTC (19 years, 9 months ago) by tdb
Branch: MAIN
CVS Tags: HEAD
Changes since 1.13: +3 -3 lines
Log Message:
Catch a lot of old URL's and update them. Also remove a couple of old files
that aren't used.

File Contents

# Content
1 /*
2 * i-scream central monitoring system
3 * http://www.i-scream.org
4 * Copyright (C) 2000-2002 i-scream
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version 2
9 * 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
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * 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
21 //---PACKAGE DECLARATION---
22 package uk.org.iscream.cms.server.core;
23
24 //---IMPORTS---
25 import uk.org.iscream.cms.util.*;
26
27 /**
28 * The LoggerServant is an implementation of the Logger defined
29 * in the IDL interface. Allows classes to send logging information
30 * over CORBA to a local implementation of the LoggerImpl interface.
31 *
32 * @author $Author: tdb $
33 * @version $Id: LoggerServant.java,v 1.13 2003/02/05 16:43:47 tdb Exp $
34 */
35 class LoggerServant extends LoggerPOA {
36
37 //---FINAL ATTRIBUTES---
38
39 /**
40 * The current CVS revision of this class
41 */
42 public final String REVISION = "$Revision: 1.13 $";
43
44 /**
45 * An array of names of verbosity levels.
46 * Thus logging messages are now "classed" by the level"
47 * This string is prepended to the "source" of a logging message.
48 */
49 public final static String[] VERBOSITY_NAMES = {"FATAL", "ERROR", "WARNING", "SYSMSG", "SYSINIT", "DEBUG"};
50
51 //---STATIC METHODS---
52
53 //---CONSTRUCTORS---
54
55 /**
56 * Creates a new LoggerServant.
57 *
58 * @param logger a reference to the LoggerImpl this will use
59 */
60 public LoggerServant(LoggerImpl logger) {
61 _logger = logger;
62 _verbosityLevel = Integer.parseInt(System.getProperty("uk.org.iscream.cms.server.Verbosity"));
63 write(toString(), Logger.SYSINIT, "started");
64 write(toString(), Logger.SYSMSG, "using verbosity " + _verbosityLevel);
65 }
66
67 //---PUBLIC METHODS---
68
69 /**
70 * The write() method takes a source, verbosity level and
71 * message, and formats them using an external line
72 * formatting method. This line is then given to the logger
73 * to be written. Note that checking of the level is carried
74 * out here.
75 *
76 * @param source A string representation of the calling object.
77 * @param verbosity the verbosity of this message
78 * @param message The text to be logged.
79 */
80 public void write(String source, int verbosity, String message) {
81 if (verbosity <= _verbosityLevel) {
82 _logger.write(FormatName.formatLogLine(source, verbosity, message), verbosity);
83 }
84 }
85
86 /**
87 * Overrides the {@link java.lang.Object#toString() Object.toString()}
88 * method to provide clean logging (every class should have this).
89 *
90 * This uses the uk.org.iscream.cms.util.FormatName class
91 * to format the toString()
92 *
93 * @return the name of this class and its CVS revision
94 */
95 public String toString() {
96 return FormatName.getName(
97 _name,
98 getClass().getName(),
99 REVISION);
100 }
101
102 //---PRIVATE METHODS---
103
104 //---ACCESSOR/MUTATOR METHODS---
105
106 //---ATTRIBUTES---
107
108 /**
109 * The verbosity level of this instance
110 */
111 private int _verbosityLevel;
112
113 /**
114 * The actual Logger used by this instance
115 */
116 private LoggerImpl _logger;
117
118 /**
119 * This is the friendly identifier of the
120 * component this class is running in.
121 * eg, a Filter may be called "filter1",
122 * If this class does not have an owning
123 * component, a name from the configuration
124 * can be placed here. This name could also
125 * be changed to null for utility classes.
126 */
127 private String _name = Core.NAME;
128
129 //---STATIC ATTRIBUTES---
130
131 }