root / org.gvsig.toolbox / trunk / org.gvsig.toolbox / org.gvsig.toolbox.core / src / main / java / es / unex / sextante / core / SextanteLogHandler.java @ 90
History | View | Annotate | Download (2.54 KB)
1 |
package es.unex.sextante.core; |
---|---|
2 |
|
3 |
import java.util.ArrayList; |
4 |
import java.util.Date; |
5 |
|
6 |
import org.slf4j.Logger; |
7 |
import org.slf4j.LoggerFactory; |
8 |
|
9 |
/**
|
10 |
* A Handler that outputs to the SEXTANTE log file, and also provides some additional methods to access log messages.
|
11 |
*/
|
12 |
public class SextanteLogHandler { |
13 |
|
14 |
private static final Logger m_Logger = LoggerFactory.getLogger(SextanteLogHandler.class); |
15 |
|
16 |
ArrayList<LogElement> logElements = new ArrayList<LogElement>(); |
17 |
|
18 |
|
19 |
public SextanteLogHandler() {
|
20 |
super();
|
21 |
|
22 |
} |
23 |
|
24 |
public void addError(final String sMessage) { |
25 |
|
26 |
m_Logger.warn(sMessage); |
27 |
|
28 |
final Date todaysDate = new java.util.Date(); |
29 |
final LogElement le = new LogElement(todaysDate, sMessage, LogElement.ERROR); |
30 |
logElements.add(le); |
31 |
|
32 |
} |
33 |
|
34 |
|
35 |
public void addError(final Throwable e) { |
36 |
|
37 |
m_Logger.warn("", e);
|
38 |
|
39 |
final StringBuffer sb = new StringBuffer(e.toString()); |
40 |
StackTraceElement[] trace = e.getStackTrace(); |
41 |
for (int i = 0; i < trace.length; i++) { |
42 |
sb.append("\tat " + trace[i] + "\n"); |
43 |
} |
44 |
final Throwable ourCause = e.getCause(); |
45 |
sb.append("Caused by: " + this); |
46 |
if (ourCause != null) { |
47 |
trace = ourCause.getStackTrace(); |
48 |
for (int i = 0; i < trace.length; i++) { |
49 |
sb.append("\tat " + trace[i] + "\n"); |
50 |
} |
51 |
} |
52 |
|
53 |
final Date todaysDate = new java.util.Date(); |
54 |
final LogElement le = new LogElement(todaysDate, sb.toString(), e.toString(), LogElement.ERROR); |
55 |
logElements.add(le); |
56 |
|
57 |
} |
58 |
|
59 |
|
60 |
public void addWarning(final String sMessage) { |
61 |
|
62 |
m_Logger.warn(sMessage); |
63 |
|
64 |
final Date todaysDate = new java.util.Date(); |
65 |
final LogElement le = new LogElement(todaysDate, sMessage, LogElement.WARNING); |
66 |
logElements.add(le); |
67 |
|
68 |
} |
69 |
|
70 |
|
71 |
public void addInfo(final String sMessage) { |
72 |
|
73 |
m_Logger.info(sMessage); |
74 |
|
75 |
final Date todaysDate = new java.util.Date(); |
76 |
final LogElement le = new LogElement(todaysDate, sMessage, LogElement.INFO); |
77 |
logElements.add(le); |
78 |
|
79 |
} |
80 |
|
81 |
|
82 |
public void close() throws SecurityException { |
83 |
} |
84 |
|
85 |
|
86 |
public ArrayList<LogElement> getLogElements() { |
87 |
|
88 |
return logElements;
|
89 |
|
90 |
} |
91 |
|
92 |
|
93 |
public void clear() { |
94 |
|
95 |
logElements.clear(); |
96 |
|
97 |
} |
98 |
|
99 |
|
100 |
public void addToLog(final String sMessage, |
101 |
final String sType, |
102 |
final String sShortMessage) { |
103 |
|
104 |
|
105 |
final Date todaysDate = new java.util.Date(); |
106 |
final LogElement le = new LogElement(todaysDate, sMessage, sShortMessage, sType); |
107 |
logElements.add(le); |
108 |
m_Logger.info(le.getAsText()); |
109 |
|
110 |
} |
111 |
|
112 |
} |