OSDN Git Service

Initial import from http://code.google.com/p/connectbot/ (r416)
[android-x86/packages-apps-ConnectBot.git] / src / com / trilead / ssh2 / log / Logger.java
1 \r
2 package com.trilead.ssh2.log;\r
3 \r
4 import com.trilead.ssh2.DebugLogger;\r
5 \r
6 /**\r
7  * Logger - a very simple logger, mainly used during development.\r
8  * Is not based on log4j (to reduce external dependencies).\r
9  * However, if needed, something like log4j could easily be\r
10  * hooked in.\r
11  * <p>\r
12  * For speed reasons, the static variables are not protected\r
13  * with semaphores. In other words, if you dynamicaly change the\r
14  * logging settings, then some threads may still use the old setting.\r
15  * \r
16  * @author Christian Plattner, plattner@trilead.com\r
17  * @version $Id: Logger.java,v 1.2 2008/03/03 07:01:36 cplattne Exp $\r
18  */\r
19 \r
20 public class Logger\r
21 {\r
22         public static boolean enabled = false;\r
23         public static DebugLogger logger = null;\r
24         \r
25         private String className;\r
26 \r
27         public final static Logger getLogger(Class x)\r
28         {\r
29                 return new Logger(x);\r
30         }\r
31 \r
32         public Logger(Class x)\r
33         {\r
34                 this.className = x.getName();\r
35         }\r
36 \r
37         public final boolean isEnabled()\r
38         {\r
39                 return enabled;\r
40         }\r
41 \r
42         public final void log(int level, String message)\r
43         {\r
44                 if (!enabled)\r
45                         return;\r
46                 \r
47                 DebugLogger target = logger;\r
48                 \r
49                 if (target == null)\r
50                         return;\r
51                 \r
52                 target.log(level, className, message);\r
53         }\r
54 }\r