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