KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > celtix > common > logging > LogUtils


1 package org.objectweb.celtix.common.logging;
2
3 import java.text.MessageFormat JavaDoc;
4 import java.util.ResourceBundle JavaDoc;
5 import java.util.logging.Level JavaDoc;
6 import java.util.logging.Logger JavaDoc;
7
8 import org.objectweb.celtix.common.i18n.BundleUtils;
9
10
11 /**
12  * A container for static utility methods related to logging.
13  */

14 public final class LogUtils {
15     
16     private static final Object JavaDoc[] NO_PARAMETERS = new Object JavaDoc[0];
17     
18     /**
19      * Prevents instantiation.
20      */

21     private LogUtils() {
22     }
23
24     /**
25      * Get a Logger with an associated resource bundle.
26      *
27      * @param cls the Class to contain the Logger
28      * @return an appropriate Logger
29      */

30     public static Logger JavaDoc getL7dLogger(Class JavaDoc cls) {
31         return Logger.getLogger(cls.getName(), BundleUtils.getBundleName(cls));
32     }
33
34     /**
35      * Allows both parameter substitution and a typed Throwable to be logged.
36      *
37      * @param logger the Logger the log to
38      * @param level the severity level
39      * @param message the log message
40      * @param throwable the Throwable to log
41      * @param parameter the parameter to substitute into message
42      */

43     public static void log(Logger JavaDoc logger,
44                            Level JavaDoc level,
45                            String JavaDoc message,
46                            Throwable JavaDoc throwable,
47                            Object JavaDoc parameter) {
48         if (logger.isLoggable(level)) {
49             final String JavaDoc formattedMessage =
50                 MessageFormat.format(localize(logger, message), parameter);
51             logger.log(level, formattedMessage, throwable);
52         }
53     }
54
55     /**
56      * Allows both parameter substitution and a typed Throwable to be logged.
57      *
58      * @param logger the Logger the log to
59      * @param level the severity level
60      * @param message the log message
61      * @param throwable the Throwable to log
62      * @param parameters the parameters to substitute into message
63      */

64     public static void log(Logger JavaDoc logger,
65                            Level JavaDoc level,
66                            String JavaDoc message,
67                            Throwable JavaDoc throwable,
68                            Object JavaDoc... parameters) {
69         if (logger.isLoggable(level)) {
70             final String JavaDoc formattedMessage =
71                 MessageFormat.format(localize(logger, message), parameters);
72             logger.log(level, formattedMessage, throwable);
73         }
74     }
75  
76     /**
77      * Checks log level and logs
78      *
79      * @param logger the Logger the log to
80      * @param level the severity level
81      * @param message the log message
82      */

83     public static void log(Logger JavaDoc logger,
84                            Level JavaDoc level,
85                            String JavaDoc message) {
86         if (logger.isLoggable(level)) {
87             final String JavaDoc formattedMessage =
88                 MessageFormat.format(localize(logger, message), NO_PARAMETERS);
89             logger.log(level, formattedMessage);
90         }
91         
92     }
93   
94     /**
95      * Checks log level and logs
96      *
97      * @param logger the Logger the log to
98      * @param level the severity level
99      * @param message the log message
100      * @param parameters the parameters to substitute into message
101      */

102     public static void log(Logger JavaDoc logger,
103                            Level JavaDoc level,
104                            String JavaDoc message,
105                            Object JavaDoc[] parameters) {
106         if (logger.isLoggable(level)) {
107             final String JavaDoc formattedMessage =
108                 MessageFormat.format(localize(logger, message), parameters);
109             logger.log(level, formattedMessage);
110         }
111         
112     }
113
114
115     /**
116      * Retreive localized message retreived from a logger's resource
117      * bundle.
118      *
119      * @param logger the Logger
120      * @param message the message to be localized
121      */

122     private static String JavaDoc localize(Logger JavaDoc logger, String JavaDoc message) {
123         ResourceBundle JavaDoc bundle = logger.getResourceBundle();
124         return bundle != null ? bundle.getString(message) : message;
125     }
126
127
128
129
130 }
131
Popular Tags