@@ -0,0 +1,1298 @@
+package org.ow2.chameleon.rose.util;%0A%0Aimport org.osgi.framework.ServiceReference;%0Aimport org.osgi.service.log.LogService;%0A%0Apublic class DefaultLogService implements LogService %7B%0A%0A%09public void log(int level, String message) %7B%0A%09%09System.out.println(%22%5B%22+getLevel(level)+%22%5D %22+ message);%0A%0A%09%7D%0A%0A%09public void log(int level, String message, Throwable exception) %7B%0A%09%09log(level, message);%0A%09%09System.out.println(%22%5Cn%5Ct(Exception)%22);%0A%09%09exception.printStackTrace();%0A%09%09System.out.println(%22%5Cn%5Ct(%5EException)%22);%0A%0A%09%7D%0A%0A%09public void log(ServiceReference sr, int level, String message) %7B%0A%09%09log(level, message);%0A%09%09System.out.println(%22%5Cn%5Ct(ServiceReference)%5Cn%5Ct%22+sr.toString());%0A%09%09System.out.println(%22%5Cn%5Ct(%5EServiceReference)%22);%0A%09%7D%0A%0A%09public void log(ServiceReference sr, int level, String message, Throwable exception) %7B%0A%09%09log(sr, level, message);%0A%09%09System.out.println(%22%5Cn%5Ct(Exception)%22);%0A%09%09exception.printStackTrace();%0A%09%09System.out.println(%22%5Cn%5Ct(%5EException)%22);%0A%09%7D%0A%09%0A%09private static String getLevel(int level) %7B%0A%09%09final String slevel;%0A%09%09switch (level) %7B%0A%09%09case LOG_DEBUG:%0A%09%09%09slevel = %22DEBUG%22;%0A%09%09%09break;%0A%09%09case LOG_ERROR:%0A%09%09%09slevel = %22ERROR%22;%0A%09%09%09break;%0A%09%09case LOG_INFO:%0A%09%09%09slevel = %22INFO%22;%0A%09%09%09break;%0A%09%09case LOG_WARNING:%0A%09%09%09slevel = %22WARNING%22;%0A%09%09%09break;%0A%09%09default:%0A%09%09%09slevel = %22BAD LEVEL%22;%0A%09%09%09break;%0A%09%09%7D%0A%0A%09%09return slevel;%0A%09%7D%0A%0A%7D%0A

Add a default LogService Implementation.