/[projects]/dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/tasks/TaskLogger.java
ViewVC logotype

Annotation of /dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/tasks/TaskLogger.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2907 - (hide annotations) (download)
Wed Feb 3 21:27:24 2016 UTC (8 years, 3 months ago) by torben
File size: 1726 byte(s)
FindBugs
1 torben 2903 package dk.daoas.adressevedligehold.tasks;
2    
3     import java.text.SimpleDateFormat;
4     import java.util.Date;
5     import java.util.logging.Level;
6    
7     import org.apache.commons.lang3.exception.ExceptionUtils;
8    
9    
10     public class TaskLogger {
11    
12 torben 2906 private StringBuilder buffer = new StringBuilder(1 * 1024 * 1024);// Reserve 1MB
13 torben 2903 private SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss.SSS");
14    
15    
16    
17     public String getBuffer() {
18     synchronized(buffer) {
19     return buffer.toString();
20     }
21     }
22    
23     public void reset() {
24     synchronized(buffer) {
25     buffer.setLength(0);
26     }
27     }
28    
29     public void log(Level lvl, String msg) {
30     log("[" + lvl.toString() + "] " + msg);
31     }
32    
33     public void log(Level lvl, String msg, Exception e) {
34     log("[" + lvl.toString() + "] " + msg + "\n" + ExceptionUtils.getStackTrace(e) );
35     }
36    
37     public void warning(String msg) {
38     log(Level.WARNING, msg);
39     }
40    
41     public void warning(String msg, Exception e) {
42     log(Level.WARNING, msg, e);
43     }
44    
45     public void info(String msg) {
46     log(Level.INFO, msg);
47     }
48    
49     public void fine(String msg) {
50     log(Level.FINE, msg);
51     }
52    
53     private void log(String msg) {
54     String time = getTimeString();
55     String line = "[" + time + "] " + msg + "\n";
56    
57     System.out.println(line);
58    
59     synchronized(buffer) {
60     buffer.append(line);
61     }
62     }
63    
64     private String getTimeString() {
65     return format.format( new Date() );
66     }
67    
68    
69     /* *******************************************************
70     * Singleton
71     */
72 torben 2907 private volatile static TaskLogger instance = null;
73 torben 2903 private TaskLogger() {
74     }
75    
76     public static TaskLogger getInstance() {
77     if (instance == null) {
78     instance = new TaskLogger();
79     }
80    
81     return instance;
82     }
83    
84     }

  ViewVC Help
Powered by ViewVC 1.1.20