1 package org.sapia.magnet; 2 3 import java.util.Iterator ; 4 import java.util.Properties ; 5 import java.util.TreeSet ; 6 7 import org.apache.log4j.Appender; 8 import org.apache.log4j.ConsoleAppender; 9 import org.apache.log4j.Layout; 10 import org.apache.log4j.Level; 11 import org.apache.log4j.Logger; 12 import org.apache.log4j.PatternLayout; 13 import org.sapia.magnet.domain.LaunchHandlerIF; 14 import org.sapia.util.CompositeException; 15 import org.sapia.util.CompositeRuntimeException; 16 import org.xml.sax.SAXException ; 17 18 19 32 public class Log { 33 34 35 private static Logger _theLogger; 36 37 static { 38 Layout aLayout = new PatternLayout("%m%n"); 39 Appender anAppender = new ConsoleAppender(aLayout, ConsoleAppender.SYSTEM_OUT); 40 41 _theLogger = Logger.getLogger("magnet"); 42 _theLogger.setAdditivity(false); 43 _theLogger.setLevel(Level.INFO); 44 _theLogger.addAppender(anAppender); 45 } 46 47 52 public static void info(String aMessage) { 53 _theLogger.info(aMessage); 54 } 55 56 62 public static void info(String aMessage, LaunchHandlerIF aLauncher) { 63 StringBuffer aBuffer = new StringBuffer (); 64 aBuffer.append("[").append(aLauncher.getName()). 65 append("::").append(aLauncher.getType()). 66 append("] ").append(aMessage); 67 _theLogger.info(aBuffer.toString()); 68 } 69 70 75 public static void warn(String aMessage) { 76 _theLogger.info("WARNING: " + aMessage); 77 } 78 79 85 public static void warn(String aMessage, LaunchHandlerIF aLauncher) { 86 StringBuffer aBuffer = new StringBuffer (); 87 aBuffer.append("[").append(aLauncher.getName()). 88 append("::").append(aLauncher.getType()). 89 append("] WARNING: ").append(aMessage); 90 _theLogger.info(aBuffer.toString()); 91 } 92 93 98 public static void error(String aMessage) { 99 _theLogger.info("ERROR: " + aMessage); 100 } 101 102 108 public static void error(String aMessage, LaunchHandlerIF aLauncher) { 109 StringBuffer aBuffer = new StringBuffer (); 110 aBuffer.append("[").append(aLauncher.getName()). 111 append("::").append(aLauncher.getType()). 112 append("] ERROR: ").append(aMessage); 113 _theLogger.info(aBuffer.toString()); 114 } 115 116 122 public static void error(String aMessage, Throwable aCause) { 123 _theLogger.info("ERROR: " + aMessage, aCause); 124 } 125 126 132 public static String extactMessage(Throwable anException) { 133 StringBuffer aMessage = new StringBuffer (); 134 135 int level = 0; 136 while (anException != null) { 137 level++; 138 if (level == 1) { 140 aMessage.append(anException.getMessage()); 141 } else { 142 aMessage.append("\n\t---> ").append(anException.getMessage()); 143 } 144 145 if (anException instanceof CompositeException) { 146 anException = ((CompositeException) anException).getSourceError(); 147 } else if (anException instanceof CompositeRuntimeException) { 148 anException = ((CompositeRuntimeException) anException).getSourceError(); 149 } else if (anException instanceof SAXException ) { 150 anException = ((SAXException ) anException).getException(); 151 } else { 152 anException = null; 153 } 154 } 155 156 return aMessage.toString(); 157 } 158 159 165 public static String formatProperties(Properties someProperties) { 166 StringBuffer aBuffer = new StringBuffer ("\n ---------- listing properties ----------\n"); 167 168 for (Iterator it = new TreeSet (someProperties.keySet()).iterator(); it.hasNext(); ) { 169 String aName = (String ) it.next(); 170 String aValue = someProperties.getProperty(aName); 171 aBuffer.append(aName).append("=").append(aValue).append("\n"); 172 } 173 174 return aBuffer.toString(); 175 } 176 } 177 | Popular Tags |