1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.mina.filter.logging;
21
22 import org.slf4j.Logger;
23
24
25
26
27
28
29
30
31
32 public enum LogLevel {
33
34
35
36
37 NONE(new LogLevelLogger() {
38 public void log(Logger logger, String message, Object arg) {
39
40 }
41
42 public void log(Logger logger, String message, Object[] args) {
43
44 }
45
46 public void log(Logger logger, String message, Throwable cause) {
47
48 }
49 }),
50
51
52
53
54 TRACE(new LogLevelLogger() {
55 public void log(Logger logger, String message, Object arg) {
56 logger.trace(message, arg);
57 }
58
59 public void log(Logger logger, String message, Object[] args) {
60 logger.trace(message, args);
61 }
62
63 public void log(Logger logger, String message, Throwable cause) {
64 logger.trace(message, cause);
65 }
66 }),
67
68
69
70
71 DEBUG(new LogLevelLogger() {
72 public void log(Logger logger, String message, Object arg) {
73 logger.debug(message, arg);
74 }
75
76 public void log(Logger logger, String message, Object[] args) {
77 logger.debug(message, args);
78 }
79
80 public void log(Logger logger, String message, Throwable cause) {
81 logger.debug(message, cause);
82 }
83 }),
84
85
86
87
88 INFO(new LogLevelLogger() {
89 public void log(Logger logger, String message, Object arg) {
90 logger.info(message, arg);
91 }
92
93 public void log(Logger logger, String message, Object[] args) {
94 logger.info(message, args);
95 }
96
97 public void log(Logger logger, String message, Throwable cause) {
98 logger.info(message, cause);
99 }
100 }),
101
102
103
104
105 WARN(new LogLevelLogger() {
106 public void log(Logger logger, String message, Object arg) {
107 logger.warn(message, arg);
108 }
109
110 public void log(Logger logger, String message, Object[] args) {
111 logger.warn(message, args);
112 }
113
114 public void log(Logger logger, String message, Throwable cause) {
115 logger.warn(message, cause);
116 }
117 }),
118
119
120
121
122 ERROR(new LogLevelLogger() {
123 public void log(Logger logger, String message, Object arg) {
124 logger.error(message, arg);
125 }
126
127 public void log(Logger logger, String message, Object[] args) {
128 logger.error(message, args);
129 }
130
131 public void log(Logger logger, String message, Throwable cause) {
132 logger.error(message, cause);
133 }
134 });
135
136 private final LogLevelLogger logger;
137
138 private LogLevel(LogLevelLogger logger) {
139 this.logger = logger;
140 }
141
142 void log(Logger logger, String format, Object arg) {
143 this.logger.log(logger, format, arg);
144 }
145
146 void log(Logger logger, String format, Object[] args) {
147 this.logger.log(logger, format, args);
148 }
149
150 void log(Logger logger, String message, Throwable cause) {
151 this.logger.log(logger, message, cause);
152 }
153
154 private interface LogLevelLogger {
155 void log(Logger logger, String message, Object arg);
156 void log(Logger logger, String message, Object[] args);
157 void log(Logger logger, String message, Throwable cause);
158 }
159 }