create changelog entry
[debian/openrocket] / android / src / net / sf / openrocket / android / util / AndroidLogWrapper.java
1 package net.sf.openrocket.android.util;\r
2 \r
3 import java.text.MessageFormat;\r
4 \r
5 import net.sf.openrocket.logging.LogLevel;\r
6 import net.sf.openrocket.logging.LogLine;\r
7 \r
8 import android.util.Log;\r
9 \r
10 public class AndroidLogWrapper {\r
11 \r
12         private static boolean logEnabled = false;\r
13         \r
14         public static void setLogEnabled( boolean value ) {\r
15                 logEnabled = value;\r
16         }\r
17         \r
18         public static void d( Class clzz, String msg ) {\r
19                 \r
20                 if ( logEnabled ) {\r
21                         String tag = getTagForClass(clzz);\r
22                         Log.d(tag,msg);\r
23                 }\r
24         }\r
25 \r
26         public static void d( Class clzz, String msg, Object ... args ) {\r
27                 \r
28                 if ( logEnabled ) {\r
29                         String tag = getTagForClass(clzz);\r
30                         String formatted = MessageFormat.format(msg, args);\r
31                         Log.d(tag,formatted);\r
32                 }\r
33         }\r
34 \r
35         public static void e( Class clzz, String msg ) {\r
36                 if ( logEnabled ) {\r
37                         String tag = getTagForClass(clzz);\r
38                         Log.e(tag,msg);\r
39                 }\r
40         }\r
41         \r
42         public static void e( Class clzz, String msg, Object ... args ) {\r
43                 if ( logEnabled ) {\r
44                         String tag = getTagForClass(clzz);\r
45                         String formatted = MessageFormat.format(msg, args);\r
46                         Log.e(tag,formatted);\r
47                 }\r
48         }\r
49 \r
50         public static void i( Class clzz, String msg ) {\r
51                 if ( logEnabled ) {\r
52                         String tag = getTagForClass(clzz);\r
53                         Log.i(tag,msg);\r
54                 }\r
55         }\r
56         \r
57         public static void i( Class clzz, String msg, Object ... args ) {\r
58                 if ( logEnabled ) {\r
59                         String tag = getTagForClass(clzz);\r
60                         String formatted = MessageFormat.format(msg, args);\r
61                         Log.i(tag,formatted);\r
62                 }\r
63         }\r
64 \r
65         public static void v( Class clzz, String msg ) {\r
66                 if ( logEnabled ) {\r
67                         String tag = getTagForClass(clzz);\r
68                         Log.v(tag,msg);\r
69                 }\r
70         }\r
71 \r
72         public static void v( Class clzz, String msg, Object ... args ) {\r
73                 if ( logEnabled ) {\r
74                         String tag = getTagForClass(clzz);\r
75                         String formatted = MessageFormat.format(msg, args);\r
76                         Log.v(tag,formatted);\r
77                 }\r
78         }\r
79 \r
80         public static void w( Class clzz, String msg ) {\r
81                 if ( logEnabled ) {\r
82                         String tag = getTagForClass(clzz);\r
83                         Log.w(tag,msg);\r
84                 }\r
85         }\r
86 \r
87         public static void w( Class clzz, String msg, Object ... args ) {\r
88                 if ( logEnabled ) {\r
89                         String tag = getTagForClass(clzz);\r
90                         String formatted = MessageFormat.format(msg, args);\r
91                         Log.w(tag,formatted);\r
92                 }\r
93         }\r
94         \r
95         private static String getTagForClass( Class clzz ) {\r
96                 String s = clzz.getSimpleName();\r
97                 return s;\r
98         }\r
99 \r
100         public static class LogHelper extends net.sf.openrocket.logging.LogHelper {\r
101 \r
102                 /* (non-Javadoc)\r
103                  * @see net.sf.openrocket.logging.LogHelper#log(net.sf.openrocket.logging.LogLine)\r
104                  */\r
105                 @Override\r
106                 public void log(LogLine line) {\r
107                         \r
108                         if ( !logEnabled ) {\r
109                                 return;\r
110                         }\r
111                         \r
112                         LogLevel level = line.getLevel();\r
113                         \r
114                         switch ( level ) {\r
115                         case ERROR:\r
116                                 Log.e("OpenRocket", line.toString());\r
117                                 break;\r
118                         case WARN:\r
119                                 Log.w("OpenRocket", line.toString());\r
120                                 break;\r
121                         case INFO:\r
122                                 Log.i("OpenRocket", line.toString());\r
123                                 break;\r
124                         case DEBUG:\r
125                                 Log.d("OpenRocket", line.toString());\r
126                                 break;\r
127                         default:\r
128                                 Log.v("OpenRocket", line.toString());\r
129                         }\r
130                 }\r
131 \r
132         }\r
133 \r
134 }\r