]> gerrit.simantics Code Review - simantics/interop.git/blob - org.simantics.interop.mapping/src/org/simantics/interop/mapping/Logger.java
Merge "Inverse relation for hasReference"
[simantics/interop.git] / org.simantics.interop.mapping / src / org / simantics / interop / mapping / Logger.java
1 package org.simantics.interop.mapping;\r
2 \r
3 import java.util.Properties;\r
4 \r
5 import org.simantics.diagram.LogManager;\r
6 \r
7 public class Logger {\r
8         \r
9         \r
10         public static final boolean ECHO = false;\r
11         public static final boolean TRACE = false;\r
12     public static final Properties defaultProperties = new Properties();\r
13     static {\r
14         defaultProperties.put("log4j.rootCategory", "INFO, default");\r
15         defaultProperties.put("log4j.appender.default", "org.apache.log4j.FileAppender");\r
16         defaultProperties.put("log4j.appender.default.File", "mapping.log");\r
17         defaultProperties.put("log4j.appender.default.append", "false");\r
18         defaultProperties.put("log4j.appender.default.layout", "org.apache.log4j.PatternLayout");\r
19         defaultProperties.put("log4j.appender.default.layout.ConversionPattern", "%-6r %-5p - %m%n");\r
20         //defaultProperties.put("log4j.appender.default.layout.ConversionPattern", "%-6r [%15.15t] %-5p %30.30c - %m%n");\r
21     }\r
22     private static LogManager defaultLogManager = new LogManager(defaultProperties);\r
23     private static final Logger defaultErrorLogger = new Logger(LogManager.class);\r
24     private org.apache.log4j.Logger logger;\r
25     \r
26     Logger(Class<?> clazz) {\r
27         logger = defaultLogManager.getLogger(clazz);\r
28     }\r
29 \r
30     /**\r
31      * Log a trace event.\r
32      * \r
33      * @param message message of the trace\r
34      * @param exception the exception, or <code>null</code>\r
35      */\r
36     public void logTrace(String message, Throwable exception) {\r
37         // Errors are much more useful with a stack trace!\r
38         if (TRACE) {\r
39                 if (exception == null)\r
40                         exception = new RuntimeException();\r
41         }\r
42         logger.trace(message, exception);\r
43     }\r
44 \r
45     /**\r
46      * Log an info event.\r
47      * \r
48      * @param message message of the info\r
49      * @param exception the exception, or <code>null</code>\r
50      */\r
51     public void logInfo(String message, Throwable exception) {\r
52         // Errors are much more useful with a stack trace!\r
53         if (TRACE) {\r
54                 if (exception == null)\r
55                         exception = new RuntimeException();\r
56         }\r
57         logger.info(message, exception);\r
58     }\r
59     \r
60     /**\r
61      * Log an warning event.\r
62      * @param message\r
63      * @param exception\r
64      */\r
65     public void logWarning(String message, Throwable exception) {\r
66         // Errors are much more useful with a stack trace!\r
67         if (TRACE) {\r
68                 if (exception == null)\r
69                         exception = new RuntimeException();\r
70         }\r
71         logger.warn(message, exception);\r
72     }\r
73    \r
74 \r
75     /**\r
76      * Log an error event.\r
77      * \r
78      * @param message message of the error\r
79      * @param exception the exception, or <code>null</code>\r
80      */\r
81     public void logError(String message, Throwable exception) {\r
82         // Errors are much more useful with a stack trace!\r
83         if (TRACE) {\r
84                 if (exception == null)\r
85                         exception = new RuntimeException();\r
86         }\r
87         logger.error(message, exception);\r
88     }\r
89 \r
90     public static Logger getDefault() {\r
91         return defaultErrorLogger;\r
92     }\r
93     \r
94     public static LogManager getDefaultLogManager() {\r
95         return defaultLogManager;\r
96     }\r
97     \r
98     public static void setDefaultThreshold(String level) {\r
99         getDefaultLogManager().setThreshold(level);\r
100     }\r
101     \r
102     public static void defaultLogError(Throwable exception) {\r
103         getDefault().logError(exception.getLocalizedMessage(), exception);\r
104         if(ECHO) exception.printStackTrace();\r
105     }\r
106     public static void defaultLogError(String message) {\r
107         getDefault().logError(message, null);\r
108         if(ECHO)\r
109             System.err.println(message);\r
110     }\r
111     public static void defaultLogError(String message, Throwable exception) {\r
112         getDefault().logError(message, exception);\r
113         if(ECHO)\r
114             System.err.println(message);\r
115     }\r
116     public static void defaultLogInfo(String message) {\r
117         getDefault().logInfo(message, null);\r
118         if(ECHO)\r
119             System.err.println(message);\r
120     }\r
121     \r
122     public static void defaultLogWarning(String message) {\r
123         getDefault().logWarning(message, null);\r
124         if(ECHO)\r
125             System.err.println(message);\r
126     }\r
127     \r
128     public static void defaultLogTrace(String message) {\r
129         getDefault().logTrace(message, null);\r
130         if(ECHO)\r
131             System.err.println(message);\r
132     }\r
133 }\r