ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/util/uk/org/iscream/cms/util/FormatName.java
Revision: 1.8
Committed: Wed Mar 14 23:25:29 2001 UTC (23 years, 1 month ago) by tdb
Branch: MAIN
Changes since 1.7: +4 -4 lines
Log Message:
The whole server package structure has been changed.
Old Package: uk.ac.ukc.iscream.*
New Package: uk.org.iscream.*

File Contents

# Content
1 //---PACKAGE DECLARATION---
2 package uk.org.iscream.util;
3
4 //---IMPORTS---
5 import java.util.Date;
6 import java.text.DateFormat;
7 import java.util.Locale;
8
9 /**
10 * This class provides static methods to format the
11 * name of a calling object. It's main use is by
12 * the various objects within the system to create
13 * a toString String to send to the logger.
14 *
15 * @author $Author: tdb1 $
16 * @version $Id: FormatName.java,v 1.7 2001/02/26 00:46:17 tdb1 Exp $
17 */
18 public class FormatName {
19
20 //---FINAL ATTRIBUTES---
21
22 /**
23 * An array of names of verbosity levels.
24 * Thus logging messages are now "classed" by the level
25 */
26 private final static String[] VERBOSITY_NAMES = {"FATAL ", "ERROR ", "WARNING", "SYSMSG ", "SYSINIT", "DEBUG "};
27
28 //---STATIC METHODS---
29
30 /**
31 * This method takes a set of information about the calling
32 * class and constructs a tidy String name to be returned.
33 * This is of use to the override of the toString() as
34 * implemented by most of the iscream objects.
35 *
36 * @param friendlyName the configured name of the instance of the calling component the class is in (eg "filter1")
37 * @param className the class name of the calling class, as obtained by getClass().getName()
38 * @param revision the CVS Revision number for the calling class
39 *
40 * @return an iscream standard name to be used as a toString()
41 */
42 public static String getName(String friendlyName, String className, String revision) {
43 if (friendlyName == null && className == null) {
44 return "{static(v" + revision.substring(11, revision.length() - 2) + ")}";
45 } else if (friendlyName == null) {
46 return "{"+ tidyClassName(className) + "(v" + revision.substring(11, revision.length() - 2) + ")}";
47 } else if (className == null) {
48 return friendlyName + "{static(v" + revision.substring(11, revision.length() - 2) + ")}";
49 } else {
50 return friendlyName + "{"+ tidyClassName(className) + "(v" + revision.substring(11, revision.length() - 2) + ")}";
51 }
52 }
53
54 /**
55 * This method generates a nicely formatted line for the log,
56 * including the date/time and the source of the message. The date
57 * and time are formatted using the DateFormat class, and the source
58 * class is formatted using the toString() method found in every
59 * source file. This is then prepended to the message and returned.
60 *
61 * @param source A string representation of the calling object.
62 * @param verbosity The verbosity of the message.
63 * @param message The message to be logged.
64 * @return The string to be written to the log.
65 */
66 public static String formatLogLine(String source, int verbosity, String message){
67 String date = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.MEDIUM, Locale.UK).format(new Date());
68 return "[" + date + "] [" + VERBOSITY_NAMES[verbosity] + "] " + source + ": " + message;
69 }
70
71 /**
72 * If the class name begins with uk.org.iscream
73 * this method will trim it off, otherwise it
74 * leaves the string unchanged.
75 *
76 * @param className the name of a class
77 *
78 * @return the tidy version of it
79 */
80 private static String tidyClassName(String className) {
81 if (className.startsWith("uk.org.iscream")) {
82 return className.substring(18);
83 }
84 return className;
85 }
86
87 //---CONSTRUCTORS---
88
89 /**
90 * A private constructor ensures an instance of this
91 * class CANNOT be created.
92 */
93 private FormatName() {
94 // do nothing on purpose!
95 }
96
97 //---PUBLIC METHODS---
98
99 //---PRIVATE METHODS---
100
101 //---ACCESSOR/MUTATOR METHODS---
102
103 //---ATTRIBUTES---
104
105 //---STATIC ATTRIBUTES---
106
107 }