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
(Generate patch)

Comparing projects/cms/source/util/uk/org/iscream/cms/util/FormatName.java (file contents):
Revision 1.3 by ajm, Tue Dec 12 18:24:00 2000 UTC vs.
Revision 1.12 by tdb, Tue May 29 17:02:35 2001 UTC

# Line 1 | Line 1
1   //---PACKAGE DECLARATION---
2 < package uk.ac.ukc.iscream.util;
2 > package uk.org.iscream.cms.server.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
# Line 16 | Line 19 | 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      /**
# Line 24 | Line 33 | public class FormatName {
33       * This is of use to the override of the toString() as
34       * implemented by most of the iscream objects.
35       *
27     * It has support for null friendly name and null class name
28     * bit NOT both at the same time.
29     *
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
# Line 34 | Line 40 | public class FormatName {
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) {
44 <            return  "{"+ className + "(v" + revision.substring(11, revision.length() - 2) + ")}";
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 + "{"+ className + "(v" + revision.substring(11, revision.length() - 2) + ")}";
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).format(new Date());
68 +        return "[" + date + "] [" + VERBOSITY_NAMES[verbosity] + "] " + source + ": " + message;
69 +    }
70 +
71 +    /**
72 +     * If the class name begins with uk.org.iscream.cms.server
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 +        String prefix = "uk.org.iscream.cms.server";
82 +        if (className.startsWith(prefix)) {
83 +            return className.substring(prefix.length()+1);
84 +        }
85 +        return className;
86      }
87  
88   //---CONSTRUCTORS---

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines