1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.transaction.util;
18
19 import java.io.PrintWriter;
20
21
22
23
24
25
26
27 public class PrintWriterLogger implements LoggerFacade {
28
29 protected PrintWriter printWriter;
30 protected String name;
31 protected boolean debug;
32
33 public PrintWriterLogger(PrintWriter printWriter, String name, boolean debug) {
34 this.printWriter = printWriter;
35 this.name = name;
36 this.debug = debug;
37 }
38
39 public LoggerFacade createLogger(String newName) {
40 return new PrintWriterLogger(this.printWriter, newName, this.debug);
41 }
42
43 public void logInfo(String message) {
44 log("INFO", message);
45 }
46
47 public void logFine(String message) {
48 if (debug)
49 log("FINE", message);
50 }
51
52 public boolean isFineEnabled() {
53 return debug;
54 }
55
56 public void logFiner(String message) {
57 if (debug)
58 log("FINER", message);
59 }
60
61 public boolean isFinerEnabled() {
62 return debug;
63 }
64
65 public void logFinest(String message) {
66 if (debug)
67 log("FINEST", message);
68 }
69
70 public boolean isFinestEnabled() {
71 return debug;
72 }
73
74 public void logWarning(String message) {
75 log("WARNING", message);
76 }
77
78 public void logWarning(String message, Throwable t) {
79 log("WARNING", message);
80 t.printStackTrace(printWriter);
81 }
82
83 public void logSevere(String message) {
84 log("SEVERE", message);
85 }
86
87 public void logSevere(String message, Throwable t) {
88 log("SEVERE", message);
89 t.printStackTrace(printWriter);
90 }
91
92 protected void log(String level, String message) {
93 printWriter.write(name + "(" + level + ":" + message);
94 printWriter.flush();
95 }
96 }