1 package org.objectweb.celtix.common.logging; 2 3 import java.text.MessageFormat ; 4 import java.util.ResourceBundle ; 5 import java.util.logging.Level ; 6 import java.util.logging.Logger ; 7 8 import org.objectweb.celtix.common.i18n.BundleUtils; 9 10 11 14 public final class LogUtils { 15 16 private static final Object [] NO_PARAMETERS = new Object [0]; 17 18 21 private LogUtils() { 22 } 23 24 30 public static Logger getL7dLogger(Class cls) { 31 return Logger.getLogger(cls.getName(), BundleUtils.getBundleName(cls)); 32 } 33 34 43 public static void log(Logger logger, 44 Level level, 45 String message, 46 Throwable throwable, 47 Object parameter) { 48 if (logger.isLoggable(level)) { 49 final String formattedMessage = 50 MessageFormat.format(localize(logger, message), parameter); 51 logger.log(level, formattedMessage, throwable); 52 } 53 } 54 55 64 public static void log(Logger logger, 65 Level level, 66 String message, 67 Throwable throwable, 68 Object ... parameters) { 69 if (logger.isLoggable(level)) { 70 final String formattedMessage = 71 MessageFormat.format(localize(logger, message), parameters); 72 logger.log(level, formattedMessage, throwable); 73 } 74 } 75 76 83 public static void log(Logger logger, 84 Level level, 85 String message) { 86 if (logger.isLoggable(level)) { 87 final String formattedMessage = 88 MessageFormat.format(localize(logger, message), NO_PARAMETERS); 89 logger.log(level, formattedMessage); 90 } 91 92 } 93 94 102 public static void log(Logger logger, 103 Level level, 104 String message, 105 Object [] parameters) { 106 if (logger.isLoggable(level)) { 107 final String formattedMessage = 108 MessageFormat.format(localize(logger, message), parameters); 109 logger.log(level, formattedMessage); 110 } 111 112 } 113 114 115 122 private static String localize(Logger logger, String message) { 123 ResourceBundle bundle = logger.getResourceBundle(); 124 return bundle != null ? bundle.getString(message) : message; 125 } 126 127 128 129 130 } 131 | Popular Tags |