1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 package org.slf4j.cal10n;
26
27 import org.slf4j.Logger;
28 import org.slf4j.Marker;
29 import org.slf4j.MarkerFactory;
30 import org.slf4j.ext.LoggerWrapper;
31 import org.slf4j.spi.LocationAwareLogger;
32
33 import ch.qos.cal10n.IMessageConveyor;
34 import ch.qos.cal10n.MessageParameterObj;
35
36
37
38
39
40
41
42 public class LocLogger extends LoggerWrapper implements Logger {
43
44 private static final String FQCN = LocLogger.class.getName();
45
46
47
48
49
50
51 static Marker LOCALIZED = MarkerFactory.getMarker("LOCALIZED");
52
53 final IMessageConveyor imc;
54
55 public LocLogger(Logger logger, IMessageConveyor imc) {
56 super(logger, LoggerWrapper.class.getName());
57 if (imc == null) {
58 throw new IllegalArgumentException("IMessageConveyor cannot be null");
59 }
60 this.imc = imc;
61 }
62
63
64
65
66
67
68
69
70
71 public void trace(Enum<?> key, Object... args) {
72 if (!logger.isTraceEnabled()) {
73 return;
74 }
75 String translatedMsg = imc.getMessage(key, args);
76 MessageParameterObj mpo = new MessageParameterObj(key, args);
77
78 if (instanceofLAL) {
79 ((LocationAwareLogger) logger).log(LOCALIZED, FQCN,
80 LocationAwareLogger.TRACE_INT, translatedMsg, args, null);
81 } else {
82 logger.trace(LOCALIZED, translatedMsg, mpo);
83 }
84 }
85
86
87
88
89
90
91
92
93
94 public void debug(Enum<?> key, Object... args) {
95 if (!logger.isDebugEnabled()) {
96 return;
97 }
98 String translatedMsg = imc.getMessage(key, args);
99 MessageParameterObj mpo = new MessageParameterObj(key, args);
100
101 if (instanceofLAL) {
102 ((LocationAwareLogger) logger).log(LOCALIZED, FQCN,
103 LocationAwareLogger.DEBUG_INT, translatedMsg, args, null);
104 } else {
105 logger.debug(LOCALIZED, translatedMsg, mpo);
106 }
107 }
108
109
110
111
112
113
114
115
116
117 public void info(Enum<?> key, Object... args) {
118 if (!logger.isInfoEnabled()) {
119 return;
120 }
121 String translatedMsg = imc.getMessage(key, args);
122 MessageParameterObj mpo = new MessageParameterObj(key, args);
123
124 if (instanceofLAL) {
125 ((LocationAwareLogger) logger).log(LOCALIZED, FQCN,
126 LocationAwareLogger.INFO_INT, translatedMsg, args, null);
127 } else {
128 logger.info(LOCALIZED, translatedMsg, mpo);
129 }
130 }
131
132
133
134
135
136
137
138
139
140 public void warn(Enum<?> key, Object... args) {
141 if (!logger.isWarnEnabled()) {
142 return;
143 }
144 String translatedMsg = imc.getMessage(key, args);
145 MessageParameterObj mpo = new MessageParameterObj(key, args);
146
147 if (instanceofLAL) {
148 ((LocationAwareLogger) logger).log(LOCALIZED, FQCN,
149 LocationAwareLogger.WARN_INT, translatedMsg, args, null);
150 } else {
151 logger.warn(LOCALIZED, translatedMsg, mpo);
152 }
153 }
154
155
156
157
158
159
160
161
162
163 public void error(Enum<?> key, Object... args) {
164 if (!logger.isErrorEnabled()) {
165 return;
166 }
167 String translatedMsg = imc.getMessage(key, args);
168 MessageParameterObj mpo = new MessageParameterObj(key, args);
169
170 if (instanceofLAL) {
171 ((LocationAwareLogger) logger).log(LOCALIZED, FQCN,
172 LocationAwareLogger.ERROR_INT, translatedMsg, args, null);
173 } else {
174 logger.error(LOCALIZED, translatedMsg, mpo);
175 }
176 }
177
178 }