package net.sf.openrocket.android.util;
import java.text.MessageFormat;
import net.sf.openrocket.logging.LogLevel;
import net.sf.openrocket.logging.LogLine;
import android.util.Log;
public class AndroidLogWrapper {
private static boolean logEnabled = false;
public static void setLogEnabled( boolean value ) {
logEnabled = value;
}
public static void d( Class clzz, String msg ) {
if ( logEnabled ) {
String tag = getTagForClass(clzz);
Log.d(tag,msg);
}
}
public static void d( Class clzz, String msg, Object ... args ) {
if ( logEnabled ) {
String tag = getTagForClass(clzz);
String formatted = MessageFormat.format(msg, args);
Log.d(tag,formatted);
}
}
public static void e( Class clzz, String msg ) {
if ( logEnabled ) {
String tag = getTagForClass(clzz);
Log.e(tag,msg);
}
}
public static void e( Class clzz, String msg, Object ... args ) {
if ( logEnabled ) {
String tag = getTagForClass(clzz);
String formatted = MessageFormat.format(msg, args);
Log.e(tag,formatted);
}
}
public static void i( Class clzz, String msg ) {
if ( logEnabled ) {
String tag = getTagForClass(clzz);
Log.i(tag,msg);
}
}
public static void i( Class clzz, String msg, Object ... args ) {
if ( logEnabled ) {
String tag = getTagForClass(clzz);
String formatted = MessageFormat.format(msg, args);
Log.i(tag,formatted);
}
}
public static void v( Class clzz, String msg ) {
if ( logEnabled ) {
String tag = getTagForClass(clzz);
Log.v(tag,msg);
}
}
public static void v( Class clzz, String msg, Object ... args ) {
if ( logEnabled ) {
String tag = getTagForClass(clzz);
String formatted = MessageFormat.format(msg, args);
Log.v(tag,formatted);
}
}
public static void w( Class clzz, String msg ) {
if ( logEnabled ) {
String tag = getTagForClass(clzz);
Log.w(tag,msg);
}
}
public static void w( Class clzz, String msg, Object ... args ) {
if ( logEnabled ) {
String tag = getTagForClass(clzz);
String formatted = MessageFormat.format(msg, args);
Log.w(tag,formatted);
}
}
private static String getTagForClass( Class clzz ) {
String s = clzz.getSimpleName();
return s;
}
public static class LogHelper extends net.sf.openrocket.logging.LogHelper {
/* (non-Javadoc)
* @see net.sf.openrocket.logging.LogHelper#log(net.sf.openrocket.logging.LogLine)
*/
@Override
public void log(LogLine line) {
if ( !logEnabled ) {
return;
}
LogLevel level = line.getLevel();
switch ( level ) {
case ERROR:
Log.e("OpenRocket", line.toString());
break;
case WARN:
Log.w("OpenRocket", line.toString());
break;
case INFO:
Log.i("OpenRocket", line.toString());
break;
case DEBUG:
Log.d("OpenRocket", line.toString());
break;
default:
Log.v("OpenRocket", line.toString());
}
}
}
}